对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 &
即使关闭终端后,这也会使程序继续运行。