在 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
,但这对我不起作用。
原文由 meetamit 发布,翻译遵循 CC BY-SA 4.0 许可协议
您放入的文件
/etc/init.d/
必须设置为可执行文件:正如@meetamit 所指出的,如果它仍然无法运行,您可能必须在
/etc/rc.d/
请注意,在最新版本的 Debian 上,这将不起作用,因为您的脚本必须符合 LSB(至少提供以下操作:启动、停止、重新启动、强制重新加载和状态): https://wiki .debian.org/LSBInitScripts
请注意,您应该始终在脚本中使用文件的绝对路径而不是相对路径,这可能会解决意想不到的问题:
最后,确保在文件顶部包含 shebang: