bash 启动时自动 运行 的脚本,生成屏幕,执行命令并分离

bash script to auto run on boot, make screen, execute a command and detach

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

这是我想过的,虽然不正确而且行不通

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

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

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

感谢您的帮助和意见。

对于那些想知道的人。问题出在 OSRM 和 centos 上。我能够 运行ning 使用所有内容的完整路径以及 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

以上所有的分解:

运行s 命令仅在重新启动时:

@reboot

屏幕命令的完整路径:

/usr/bin/screen

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

-dm -S pistartup 

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

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

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

screen -r pistartup