키 입력을 실행하는 Linux 셸(CTRL+C)

키 입력을 실행하는 Linux 셸(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) 로 원할 때마다 다시 시작할 수 있습니다.

관련 정보