在一个Amazon S3 Linux实例中,我有两个名为start_my_app和stop_my_app的脚本,它们永远地启动和停止(反过来运行我的Node.js应用程序)。我使用这些脚本手动启动和停止我的Node.js应用程序。到目前为止一切顺利。

我的问题是:我还想设置它,以便在系统启动时运行start_my_app。我知道我需要在init中添加一个文件。d和我知道如何符号链接到rc内的适当目录。d,但是我不知道我放在init。d中的文件里到底需要什么。我认为它应该只有一行,比如start_my_app,但这对我来说并不管用。


当前回答

将脚本添加到/etc/init.d /目录 更新rc运行级别: update-rc美元。d myScript.sh默认NN,其中NN是它应该执行的顺序。例如,99意味着它将在98之后和100之前运行。

其他回答

对某些人来说,这是可行的:

您可以简单地添加以下命令到系统→首选项→启动应用程序:

bash /full/path/to/your/script.sh

编辑rc。本地文件使用nano或gedit编辑器,并添加您的脚本在其中。文件路径可以是“/etc/rc”Local或/etc/rc.d/rc. Local。

sudo nano /etc/rc.local

编辑如下:

#!/bin/sh
/path-to-your-script/your-scipt-name.sh

一旦完成按ctrl+o更新,再按ctrl+x。

使文件可执行。

sudo chmod 755 /etc/rc.local

然后在引导期间启动rc-local服务以运行脚本。

sudo systemctl start rc-local

你可以这样做:

chmod +x PATH_TO_YOUR_SCRIPT/start_my_app 

然后使用下面的命令

update-rc.d start_my_app defaults 100

请参阅有关Cyberciti的本页。

只需有一行添加到您的crontab..

确保文件是可执行的:

chmod +x /path_to_you_file/your_file

编辑crontab文件。

crontab -e

你必须添加的行:

@reboot  /path_to_you_file/your_file

这么简单!

一个简单的方法是在/etc/rc.中添加一行的地方:

/PATH/TO/MY_APP &

或者如果你想以特殊用户的身份运行命令:

su - USER_FOOBAR -c /PATH/TO/MY_APP &

(后面的&号作为进程的背景,并允许rc。本地继续执行)

如果你想要一个完整的init脚本,debian发行版有一个模板文件,所以:

cp /etc/init.d/skeleton /etc/init.d/your_app

稍微调整一下。