장기 실행 프로세스(AWK, DD)에 신호 보내기

장기 실행 프로세스(AWK, DD)에 신호 보내기

나는 실행 시 아무런 출력도 생성하지 않는 DD 명령에 익숙합니다. 그러나 USR1 신호를 보내면 현재 상태를 인쇄할 수 있습니다.

AWK를 사용하여 동일한 작업을 수행할 수 있나요? 변수를 인쇄하고 signal_handler를 등록하시겠습니까?

답변1

.NET의 경우에도 이 동작을 크로스 플랫폼에 의존할 수 없습니다 dd. POSIX지정된 SIGUSR1에 대한 응답이 없습니다. 실제로 dd이를 사용하려고 하면 프로세스가 종료됩니다.OSX또는BSD, 때로는임베디드 Linux(Busybox). SIGUSR1on을 이런 식으로 사용하는 것은 ddGNU 확장인 것처럼 보입니다. 실제로 대부분의 데스크탑 Linux 시스템에서 이 작업을 수행할 수 있습니다.

마찬가지로, GNU를 사용한다면 awk,가능한SIGUSR1이는 GNU 특정 내부 상태 정보를 얻기 위해 전송될 수 있습니다 . 이 경우 표준 출력으로 인쇄되지 않고 파일로 인쇄됩니다. 이 기능을 지원하는 awk 버전은 GNU입니다.awk 4.1.0 이상-p( ) 플래그 와 함께 실행하는 경우 --profile, 또는3.1 이상.pgawk

신호 기능에 대한 자세한 내용은 gawk매뉴얼 페이지(버전 3.1또는버전 4.1)을 선택한 다음 "신호"를 검색하세요.

데스크탑 Linux가 GNU awk를 실행하는지 여부는 GNU보다 덜 확실합니다 dd.mawk데스크탑 Linux에서 실행되는 것을 본 또 다른 awk입니다.

관련 정보