+----+---------+-------------+-------------+-----------+
| id | user_id | is_verified | name | updated_at|
+----+---------+-------------+-------------+-----------+
| 1 | 1 | 0 | some name | 2001 |
| 2 | 1 | 1 | some name | 2000 |
| 3 | 2 | 0 | some name | 2000 |
| 4 | 1 | 0 | some name | 2000 |
| 5 | 3 | 1 | some name | 2003 |
|... | ... | ... | ......... | .... |
+----+---------+-------------+-------------+-----------+
:
script1.py
#do somthing
os.system('nohup python3 -u script2.py {} {} >> {}.out &'.format(xxx, yyy, zzz))
#do somthing
:
此密码始终与script2.py
当script1作为服务运行时,此脚本可以正确运行script2。 但是,如果我使用“ kill pid”命令杀死Script1,则Script2也将被自动杀死,这是我不希望的,我希望Script2继续工作。
编辑:我使用loop.run_forever()
来运行systemd
答案 0 :(得分:0)
如果希望子进程不被systemd杀死,请更改为服务配置的KillMode
。因此,在您的服务文件中:
[Service]
KillMode=process
默认值为KillMode=control-group
,这样systemd会杀死为服务创建的cgroup中的所有内容;而nohup
对cgroup一无所知。