我使用以下配置运行系统服务my_script.service
:
[Unit]
Description=My demo program.
[Service]
User=myname
ExecStart=/my_scripts/some_async_python_script.py
Restart=always
RestartSec=5s
[Install]
WantedBy=multi-user.target
在运行之前我会做一次这样的事:sudo systemctl daemon-reload
然后
sudo systemctl enable my_script.service
我会像这样开始:sudo systemctl start my_script.service
到目前为止,一切运行良好。
我遇到的问题是,当我使用 停止它sudo systemctl stop my_script.service
然后执行时,htop
我可以看到/my_scripts/some_async_python_script.py
它仍在运行。我可以看到它有一个父进程。当我杀死子进程时,它就死了(即我不需要杀死父进程)。
我的问题是:为什么即使我已经停止了服务,我的服务命令仍然在运行?