Unix

Bash 和阻塞程序

  • January 10, 2010

你能幫我用 Bash 語法來實現以下目標嗎?

  1. 執行一個阻塞程序而不阻塞腳本其餘部分的執行。
  2. 執行標準的“非阻塞”程序(例如 lsof)。
  3. “重新加入”阻塞程序,以便 ^C 停止該程序,然後結束腳本的執行。

這是一種慣用的方法嗎?

#!/bin/bash
function handle_int()
{
   kill $BCPID
   exit
}
trap handle_int INT

blocking_command &
BCPID=$!

non_blocking_command
wait
# 腳本
命令 &
# 更多腳本
等待

引用自:https://serverfault.com/questions/101278