首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pkill -f不能从内部shell脚本运行

pkill -f不能从内部shell脚本运行
EN

Stack Overflow用户
提问于 2020-09-18 14:38:01
回答 1查看 249关注 0票数 0

我有一个名为kill.sh的shell脚本,它可以帮助我重新启动我编写的python脚本。我通常使用pkill -f main.py来终止我永远运行的python脚本。但是,当我将其写入shell脚本时,它不起作用。

我的脚本

代码语言:javascript
复制
pkill -f main.py
ps aux | grep main.py # Still shows the process running. 

而只需在bash命令行中执行pkill -f main.py即可正常工作。为什么会这样呢?

EN

回答 1

Stack Overflow用户

发布于 2020-09-24 00:08:37

这不是一个令人满意的答案,因为我找不到pkill -f不能在脚本中工作的根本原因。我最终使用systemd服务文件来管理我的python进程。这是一个仅供参考的示例。

代码语言:javascript
复制
[Unit]
Description=Service Name
[Service]
Environment=PYTHONUNBUFFERED=1
ExecStart=/path/to/python /path/to/python/script.py
Restart=on-failure
RestartSec=5s
WorkingDirectory=/python/project/dir/

将文件命名为main.service并将其放入/lib/systemd/system/

运行服务和服务以及服务状态和输出systemctl status main.service -l

现在,我不必担心多个进程正在运行。如果程序死了,它甚至会重启。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63950493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档