linux - 发送信号到后台处理

标签 linux bash unix terminal

我正在编写简单的 http 应用程序并测试它,我需要通过 curl 等做一些请求。但这让我在 tmux 中切换面板,我很懒惰。这样的事情可能吗:

我有一些 script.sh(伪代码):

while(true) { wait for SOME_SIG curl url }

然后在终端中运行:

./script.sh &

./服务器

所以我当前的进程是server。我是否有可能向后台进程发送信号 - script.sh 以发出 curl 请求?

最佳答案

你可以使用 trap .例如,以下脚本将在接收到 SIGABRT 时执行函数 foo:

foo() {
  echo "I received SIGABRT; lets do something here"
}

trap foo SIGABRT

while : ; do
  sleep 5s
done

(详细来说,说 kill -ABRT pid 其中 pid 指的是上述脚本的数字 PID 将触发 foo。)

关于linux - 发送信号到后台处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21280876/

相关文章:

linux - 按行抓取内容,并固定输出格式

linux - 静态链接ld.so(ld.a?)

bash - 为什么这个 if 语句会给我一个错误

linux - 忽略下一个字段与上一个字段相同的行

c - UNIX C 函数中的命名约定(_t 和 _st)

linux - 使用 grep 提取括号内的数字

bash - trap/return 后退出状态到哪里去了?

mysql - bash 脚本 MYSQL 正在运行?

linux - 如何在 linux 中打印另一个用户的当前工作目录?

linux - 跟踪日志直到达到特定时间阈值