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


1

나는 bash 스크립트에서 "Ctrl + C"를 시뮬레이트하는 동안 문제가 발생했습니다. 기본적으로 다른 명령을 실행 한 후에 키 입력을 시뮬레이션하려고합니다. 스크립트를 모두 끝내는 데 아무런 문제가없는 것 같지만, 스크립트를 실제로 종료하거나 닫지 않고 중단하거나 가능한 경우 나머지 스크립트를 계속 진행하면서 중단하려고합니다.
이것은 여기의 문제 선입니다.

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

잠깐만 스캔하고 폐쇄 / 종결없이 간섭하고 싶습니다. 나는 내가 생각할 수있는 모든 명령의 조합을 시도했다. 내가 본 해결책 중 일부는 믿을 수 없을 정도로 복잡해 보이고 오류 만 발생했습니다. 이 문제를 해결할 더 쉬운 방법이 있습니까? - 미리 감사드립니다.


1
SIGHUP은 SIGINT와 다소 다릅니다.
ott--

이제 어떻게해야합니까? 60 초마다 netstat를 실행 하시겠습니까? 또는 netstat을 지속적으로 실행하고 60 초 후에 종료 할 수 있습니까?
ott--

1
이제 60 초 동안 실행되고 완전히 종료됩니다.
ICE

답변:


2

이것은 어떤가요:

[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 -CONT PID)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.