명령 처리 및 백분율 기호 사용

명령 처리 및 백분율 기호 사용

퍼센트 기호와 kill 명령을 사용하여 작업을 중지하는 것이 혼란스럽습니다. kill 매뉴얼 페이지에서 퍼센트 기호를 사용할 수 있음을 나타내는 문서를 찾을 수 없습니다. 이 설명이 다른 곳에 숨겨져 있는지 또는 %이 플래그가 사용되는 이유를 누군가 나에게 설명할 수 있습니까?

kill -s 19 %1ID가 1인 작업이 중지됩니다.

답변1

%로고는작업 사양. 간단히 말해서, 작업은 셸에 의해 시작되어 포그라운드에서 실행 중이거나(그렇다면 셸과 상호 작용할 수 없음), 백그라운드에서 실행 중이거나, 일시 중지되거나, 종료될 수 있는 프로세스입니다(그러나 셸은 그렇지 않음). 아직 눈치 채지 못한 경우 작업이 사라집니다.)

%1쉘의 작업 테이블에 있는 첫 번째 항목의 작업을 나타냅니다. 서로 다른 셸 인스턴스의 작업 번호는 관련이 없으며 프로세스 ID와도 관련이 없습니다. 이 jobs명령을 사용하여 이 셸의 작업 목록을 볼 수 있습니다. 작업을 조작하는 데 유용한 다른 명령으로 는 작업을 각각 전경이나 배경으로 이동하는 fg및 가 있습니다. bg작업을 조작하는 다른 방법은 Ctrl+를 눌러 Z포그라운드 작업을 일시 중지하고 &마지막에 명령을 실행하여 백그라운드로 직접 보내는 것입니다.

독립 실행형 유틸리티가 있고 kill이라는 쉘 내장 명령이 있습니다 kill. 이 명령은 별도의 유틸리티로 존재하므로 쉘을 시작하지 않고도 다른 프로그램에서 호출할 수 있습니다. 이 명령은 쉘 내장으로 존재하므로 프로세스를 시작하기 위한 리소스가 부족하더라도 호출할 수 있으며 kill쉘 내부 데이터 구조를 이해합니다.

작업은 내부 쉘 데이터 구조이므로 외부 kill명령은 이를 인식하지 못합니다. 외부 명령은 매뉴얼 페이지에 문서화되어 있습니다. 작업 관련 기능에 대한 문서를 찾으려면 kill셸 문서를 확인하세요.세게 때리다또는다루기 힘든. 그런 다음 작업에 대한 섹션을 참조하세요.세게 때리다,다루기 힘든. 쉘 매뉴얼에는 jobs, fg및 명령도 문서화되어 있습니다 bg.

답변2

셸에서 작업을 참조하는 방법에는 여러 가지가 있습니다. % 문자는 작업 사양(jobspec)을 나타냅니다. 작업 번호 n은 %n이라고 할 수 있습니다. 작업을 시작하는 데 사용된 이름의 접두사를 사용하거나 해당 명령줄에 나타나는 하위 문자열을 사용하여 작업을 참조할 수도 있습니다. 간단히 작업 이름을 지정하여 전경으로 가져옵니다. %1은(는) "fg %1"과 동의어로, 작업 1을 배경에서 전경으로 가져옵니다. 마찬가지로 "%1 &"는 "bg %1"과 동일하게 백그라운드에서 작업 1을 다시 시작합니다.

답변3

[root@typhoon ~]# jobs
[3]+  Stopped                 sleep 3000
[5]-  Stopped                 sleep 1001
[6]   Running                 sleep 9922 &

[root@typhoon ~]# /bin/kill %5
kill: cannot find process "%5"

[root@typhoon ~]# kill %5
[root@typhoon ~]#

관련 정보