bash - 如何使用 shell 脚本在重新启动时在 localhost 服务器上启动程序
问题描述
当系统使用 shell 和 crontab 重新启动时,我们正在尝试启动一个在指定端口上运行 localhost 的 go 程序。以下是我们迄今为止所做的工作:
- 创建了一个名为 goinit.sh 的 shell 文件。我们在其中写了
#!/bin/sh echo "go 程序开始于" `date` >> /Users/nicolas/goinit1.txt cd /Users/nicolas/go/src/goinit 去建造 执行 goinit -port 2000
- 我们已经使用命令为 goinit.sh 创建了可执行文件
sudo chmod u+x goinit.sh
- 然后我们手动启动脚本。使用
须藤 ./goinit.sh
直到这里一切正常。当我们打开浏览器并启动我的 localhost:2000 时,我的程序按预期工作。
- 我们使用 crontab 以便在我的系统重新启动时运行我们的脚本文件。以下是用 crontab 编写的行。
@reboot /Users/nicolas/goinit.sh
当我们重新启动系统脚本运行但浏览器中什么都看不到。当我们打开浏览器并运行 localhost:2000 时,它只是显示找不到文件。
我们对重新启动时未提供的文件进行了一些研究。
由于我们是 shell 脚本的新手,因此子 shell 的概念有点令人困惑。我们已经尝试了许多示例来使这个 shell 脚本工作,但没有一个真正帮助我们。
注意:所有这些都是在 mac OS 中完成的。
解决方案
推荐阅读
- python - MySQL 'replace into select from' 替代方案
- dart - Flutter 停用屏幕超时
- c# - ASP.Net 分阶段升级网站
- java - 为什么 write() 控制台输出返回一个字符
- html - 在键盘上切换时展开子菜单
- sql - 我想将这 4 个存储过程合并为一个,因为它们都返回相同的数据(几乎)
- typescript - 类型 '{ 市场:[市场]; 上不存在属性“市场”;在打字稿中
- php - woocommerce多个自定义字段代码
- c# - System.Tuple 和 (,) 有什么区别?
- linux - 需要 .gz 文件的 grep 命令解决方案