bash脚本在启动时自动运行,制作屏幕,执行命令并分离

埃尔古茨

我正在使用 Centos 7 并且在启动时我想:

  • 做一个屏幕
  • 执行命令:osrm-routed --algorithm=MLD ~/osrm-backend/profiles/australia-latest.osrm
  • 从屏幕上分离(可能不需要,只要我将来运行后可以自己访问它)

这是我想过的事情,虽然不正确并且行不通

文件名:mapstart.sh 文件内容:

#!/bin/bash
/usr/bin/screen -dmS mapapi osrm-routed --algorithm=MLD ~/osrm-backend/profiles/australia-latest.osrm

在您的帮助下编写脚本。我不确定在使用 centos 7 启动时运行它的最佳方式。

感谢您的帮助和投入。

埃尔古茨

对于那些想知道的人。问题出在 OSRM 和 centos 上。我能够使用所有内容的完整路径以及 crontab -e 中的以下内容运行它

为了获得 osrm-backend 的完整路径,我运行了以下命令:

which osrm-routed

它返回的结果是:

/usr/local/bin/osrm-routed

这使我能够添加我试图从 crontab -e 运行的命令的完整路径,这是必需的。从那里它可以在 crontab -e 中运行以下内容

@reboot /usr/bin/screen -dm -S pistartup /usr/local/bin/osrm-routed --algorithm=MLD ~/osrm-backend/profiles/australia-latest.osrm

分解以上所有内容:

仅在重启时运行命令:

@reboot

屏幕命令的完整路径:

/usr/bin/screen

创建名为 pistartup 的屏幕并分离:

-dm -S pistartup 

我想在屏幕内运行的特定命令:

/usr/local/bin/osrm-routed --algorithm=MLD ~/osrm-backend/profiles/australia-latest.osrm

现在,当机器重新启动时。它创建了一个屏幕并运行我的命令。手动恢复屏幕 如果我愿意,我可以发出以下命令:

screen -r pistartup

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章