如何在ubuntu服务器上保持进程无限期运行

如何在ubuntu服务器上保持进程无限期运行

对linux很陌生,我用它screen来保持运行后台进程。
例如,我有一些 Flask REST API,我使用以下命令运行它们的配置文件:

uwsgi --ini path_to_file/file.ini

由于我有多个此类 API 及其各自的 conf 文件,因此我使用screen.除了一个 API 之外,所有其他 API 都保持运行(数月)。所有这些几乎都类似于访问同一个数据库。
这个特定 API 的 conf 文件每天都需要重新启动。
有没有正确的方法来处理 .ini 文件的运行?

使用 Ubuntu 16 和 Flask Restful

答案1

正如@Panki 在他的文章中指出的那样评论,最好改为创建服务。

但如果你也想避免这种情况;编写一个包含所有逻辑的 shell 脚本,即重新启动特定的 API 配置。然后在此设置一个间隔一天的 cronjob 。要以一天为间隔设置 cronjob,请打开 crontab 并添加以下行:

30 14 * * * /path/to/your/shell/script

这将在每天下午 2:30 触发您的脚本执行。有关设置 cronjob 的详细信息,请参阅 SO 的答案:https://stackoverflow.com/a/35575322/1944896

答案2

使用nohup

nohup uwsgi --ini path_to_file/file.ini

或者

用你的命令创建一个脚本并运行它nohup

nohup script.sh &

即使关闭终端后,这也会使程序继续运行。

请参阅:https://www.maketecheasier.com/nohup-and-uses/

相关内容