在一个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,但这对我来说并不管用。


当前回答

你可以这样做:

chmod +x PATH_TO_YOUR_SCRIPT/start_my_app 

然后使用下面的命令

update-rc.d start_my_app defaults 100

请参阅有关Cyberciti的本页。

其他回答

另一种选择是在crontab中使用@reboot命令。

不是每个版本的cron都支持这一点,但如果您的实例基于Amazon Linux AMI,那么它就可以工作。

如果你想运行一个简单的脚本(或任何东西),绝对最简单的方法是如果你有一个gui来使用系统>首选项,然后启动应用程序。

只要浏览到你想要的脚本,就可以了。(使脚本可执行)

你可以这样做:

chmod +x PATH_TO_YOUR_SCRIPT/start_my_app 

然后使用下面的命令

update-rc.d start_my_app defaults 100

请参阅有关Cyberciti的本页。

在卢本图,我不得不处理相反的情况。Skype启动后开始运行,我发现在~/。配置/自动启动/ skypeforlinux.desktop文件文件内容如下:

[Desktop Entry]
Name=Skype for Linux
Comment=Skype Internet Telephony
Exec=/usr/bin/skypeforlinux
Icon=skypeforlinux
Terminal=false
Type=Application
StartupNotify=false
X-GNOME-Autostart-enabled=true

删除这个文件对我有帮助。

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

确保文件是可执行的:

chmod +x /path_to_you_file/your_file

编辑crontab文件。

crontab -e

你必须添加的行:

@reboot  /path_to_you_file/your_file

这么简单!