gpt4 book ai didi

bash - 如何从 bash 脚本发送 control+c?

转载 作者:行者123 更新时间:2023-11-29 08:40:25 25 4
gpt4 key购买 nike

我在 bash 脚本中启动了多个 screen ,然后在每个 screen 中运行 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信号,略有不同,但也会要求程序停止。因此,如果您知道自己在做什么(程序中没有绑定(bind)到 SIGINT 的处理程序),一个简单的 kill就够了。

要获取在脚本中启动的最后一个命令的 PID,请使用 $! :

# Launch script in background
./my_script.sh &
# Get its PID
PID=$!
# Wait for 2 seconds
sleep 2
# Kill it
kill $PID

关于bash - 如何从 bash 脚本发送 control+c?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5789642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com