import subprocess
import signal
import os
devnull = open('/dev/null', 'w')
p = subprocess.Popen(["./main"], stdout=devnull, shell=False)
# Get the process id
pid = p.pid
os.kill(pid, signal.SIGINT)
if not p.poll():
print "Process correctly halted"
import subprocess
import signal
..
process = subprocess.Popen(..) # pass cmd and args to the function
..
process.send_signal(signal.SIGINT) # send Ctrl-C signal
..
stdout, stderr = process.communicate() # get command output and error
..
在Python中,可以使用os.kill编程发送
Ctrl+C
信号。问题是,您需要接收信号的进程的pid
,而os.system
不会告诉您任何有关这方面的信息。你应该用subprocess
来表示。我不太明白你说的在终端上得不到输出。不管怎样,你可以这样做:
我建议使用子进程python模块来运行linux命令。在这种情况下,SIGINT信号(相当于Ctrl-C键盘中断)可以使用Popen.send_signal(signal.SIGINT)函数以编程方式发送到命令。函数的作用是:输出。例如
相关问题 更多 >
编程相关推荐