我希望能够通过Python脚本暂停Bash脚本。步骤如下:
相关问题是,如果脚本1输出文本行,例如
- 我从Python脚本reader.py启动脚本writer.sh。
- 当writer.sh输出第三行时,我想使用reader.py中的某个命令暂停执行该脚本。
- 我想使用reader.py中的某个命令恢复writer.sh的执行。
reader.py
:import subprocess
from time import sleep
print 'One line at a time:'
proc = subprocess.Popen('./writer.sh',
shell=False,
stdout=subprocess.PIPE,
)
try:
for i in range(4):
output = proc.stdout.readline()
print output.rstrip()
if i == 2:
print "sleeping"
sleep(200000000000000)
except KeyboardInterrupt:
remainder = proc.communicate()[0]
print "remainder:"
print remainder
writer.sh
:
#!/bin/sh
echo first;
echo second;
echo third;
echo fourth;
echo fith;
touch end_file;
相关问题是,如果脚本1输出文本行,例如
script1 | script2
,并且脚本2在读取第三行输入后暂停,那么在Linux上使用管道是否会暂停脚本1?
print "sleeping"
之后立即运行SIGSTOP吗? - Gilles Quénot