启动python脚本的Bash脚本不会自行停止

贾西

我不确定这是否是问题所在,但让我解释一下:我有一个由bash脚本启动的python脚本。bash脚本的工作就完成了,但是当我grep ps aux时,调用仍然存在。

#!/bin/bash
export http_proxy='1.2.3.4:1234'
python -u /home/user/folder/myscript.py -some Parameters >> /folder/Logfile_stout.log 2>&1 

如果我grepps aux | grep python我得到的python -u /home/user/folder/myscript.py -some Parameters结果。根据日志文件,python脚本已正确关闭。(结束脚本的代码在脚本本身内。)脚本每小时启动一次,我仍然看到前几个小时的所有调用。

在此先感谢您的帮助,提示或建议!

只要子进程(python脚本)正在运行,父bash脚本就会保留。如果您启动在后台运行的python脚本(在python行的末尾添加&),则父级将退出。

#!/bin/bash
export http_proxy='1.2.3.4:1234'
python -u /home/user/folder/myscript.py -some Parameters >> /folder/Logfile_stout.log 2>&1 &

如果您检查进程列表(例如'ps -elf')。它将显示子项(如果仍在运行)。子PPID(父PID)将是1(根PID),而不是父PID,因为父PID不再存在。

如果您的python脚本永不退出,最终可能会成为一个问题。您可以让父脚本等待并杀死孩子,例如等待30秒并杀死仍然存在的孩子:

#!/bin/bash
export http_proxy='1.2.3.4:1234'
python -u /home/user/folder/myscript.py -some Parameters >> /folder/Logfile_stout.log 2>&1 &
sleep 30
jobs
kill %1
kill -9 %1
jobs

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使python脚本在启动时自行启动

来自分类Dev

Bash脚本不会循环退出

来自分类Dev

Bash脚本不会编译LESS

来自分类Dev

Bash脚本不会以Ctrl + C终止

来自分类Dev

Bash脚本不会更改目录

来自分类Dev

减少PNG的Bash脚本不断停止

来自分类Dev

Init.d脚本不会启动或停止,仅打印帮助消息

来自分类Dev

具有`set -e`的Bash脚本不会在`... && ...`命令上停止

来自分类Dev

具有`set -e`的Bash脚本不会在`... && ...`命令上停止

来自分类Dev

脚本不会运行

来自分类Dev

脚本不停止

来自分类Dev

使用bash或python脚本启动和停止GCE实例

来自分类Dev

在我登录之前,程序的 systemd 脚本不会启动

来自分类Dev

Bash 脚本不会与 Python 中的子进程一起运行

来自分类Dev

杀死bash脚本不会杀死子进程

来自分类Dev

Bash脚本不会解释变量中的变量

来自分类Dev

Bash脚本不会在输入命令中退出

来自分类Dev

Bash脚本不会在ctrl d上退出

来自分类Dev

Bash 脚本不会解释变量中的变量

来自分类Dev

满足条件时,Bash 脚本不会继续

来自分类Dev

从Bash脚本启动时,Vim的版本不同

来自分类Dev

脚本不会转到后台

来自分类Dev

线程脚本不会终止

来自分类Dev

脚本不会单独删除

来自分类Dev

脚本不只停止键盘

来自分类Dev

调用多个 NPM 脚本的自定义 NPM 脚本不会在失败时停止

来自分类Dev

自行安排的Python脚本

来自分类Dev

在mayavi场景窗口关闭之前,Python脚本不会继续

来自分类Dev

Python脚本不会将汉字写入XML文件