Linux shell 執行擊鍵 (CTRL+C)

Linux shell 執行擊鍵 (CTRL+C)

我在嘗試在 bash 腳本中模擬“Ctrl + C”時遇到了問題。基本上,我試圖在運行另一個命令後模擬擊鍵。雖然我似乎沒有問題一起終止腳本,但我只是試圖中斷它,而不實際殺死或關閉它,或者如果可能的話繼續執行腳本的其餘部分。
這是這裡的麻煩線:

    netstat -a -c & sleep 60 && kill SIGHUP 26777   

我只想掃描一分鐘,然後中斷而不關閉/終止。我已經嘗試了我能想到的所有命令組合。我見過的一些解決方案似乎非常複雜,並且只會給我帶來錯誤。有沒有更簡單的方法來解決這個問題? -提前致謝

答案1

這個怎麼樣:

[user1@centos6 ~]$ netstat -a -c > /tmp/tmp.netstat-out & (nsPID=$! ; sleep 10 ; kill -STOP $nsPID)
[1] 25658
[user1@centos6 ~]$ 

[1]+  Stopped                 netstat -a -c > /tmp/tmp.netstat-out
[user1@centos6 ~]$ ps -p 25658
  PID TTY          TIME CMD
25658 pts/1    00:00:00 netstat
[user1@centos6 ~]$ jobs
[1]+  Stopped                 netstat -a -c > /tmp/tmp.netstat-out
[user1@centos6 ~]$ kill -CONT %1
[user1@centos6 ~]$ jobs
[1]+  Running                 netstat -a -c > /tmp/tmp.netstat-out &
[user1@centos6 ~]$ 

10 秒後我用 SIGSTOP 訊號停止進程(我很不耐煩;-)),我可以隨時用 SIGCONT 訊號(kill -CONTPID)重新啟動它

相關內容