我在bash脚本中启动了一些屏幕,然后在每个屏幕中运行django的runserver命令。我想能够以编程方式停止它们所有,这需要我发送Control c到runserver。
如何从我的bash脚本发送这些击键?
Ctrl C发送SIGINT信号。
kill -INT< pid>也发送SIGINT信号:
# Terminates the program (like Ctrl+C) kill -INT 888 # Force kill kill -9 888
假设888是您的进程ID。
注意,kill 888发送一个SIGTERM信号,稍有不同,但也会要求程序停止。所以如果你知道你在做什么(没有处理程序绑定到程序中的SIGINT),一个简单的杀死就够了。
要获取在脚本中启动的最后一个命令的PID,请使用$! :
# Launch script in background ./my_script.sh & # Get its PID PID=$! # Wait for 2 seconds sleep 2 # Kill it kill $PID