키보드 키 대신 명령줄에서 Ctrl + Z를 어떻게 사용할 수 있습니까? [폐쇄]

키보드 키 대신 명령줄에서 Ctrl + Z를 어떻게 사용할 수 있습니까? [폐쇄]

Control+ Z키보드 키 대신 명령줄을 통해 작업하는 방법은 무엇입니까? (리눅스에서)

실행 중인 모든 터미널을 중지하고 나중에 다시 시작해야 합니다.

답변1

Control+ 포그라운드에 있는 모든 프로세스 터미널에 신호 (Linux amd64에서는 20, Solaris amd64에서는 24, FreeBSD amd64에서는 18... 신호를 숫자로 참조하는 것은 피하는 것이 가장 좋습니다)를 받는 Z제어 문자를 씁니다. 프로세스 그룹.suspSIGTSTP

-명령을 사용하여 명령줄에서 신호를 보내 프로세스를 중지할 수 있습니다 kill.

kill -s STOP <pid>

( <pid>일시 중지하려는 프로세스의 ID는 어디에 있습니까?) 또는 특정 이름을 사용하여 프로그램의 모든 프로세스를 지정하려는 경우(기술적으로 이름이 주어진 확장 정규 표현식과 일치하는 모든 프로세스):

pkill -STOP xterm

( xterm예제 이름은 어디에 있습니까?)

프로세스를 재개해야 할 경우에도 SIGCONT동일한 방식으로 신호가 전송됩니다.

답변2

제어 터미널인 모든 프로세스(해당 터미널과 셸에서 실행 중인 모든 포그라운드 및 백그라운드 작업 포함)를 중지하려면 /dev/pts/12다음을 수행할 수 있습니다.

pkill -STOP -t pts/12

이로 인해 회의 리더도 일시 중지됩니다. 어떤 경우에는 프로세스가 자동으로 재개될 수 있습니다. 예를 들어, GNU는 screen일시 중단되었음을 감지하자마자 세션 리더를 즉시 재개합니다.

해당 터미널의 전경 프로세스 그룹에 SIGTSTP 신호를 보내려면 ^Z다음을 수행합니다.

kill -s TSTP -- "-$pgid"

여기서는 $pgid포그라운드 프로세스 그룹의 프로세스 그룹 ID입니다. 목록에 있는 Linux 및 BSD에서는 ps -o tpgid= -p "$pid"해당 터미널을 제어 터미널로 사용하는 프로세스의 ID를 실행하여 찾을 수 있습니다. $pid대부분의 시스템에서 이러한 프로세스는 tcgetpgrp().

두 경우 모두 SIGSTOP/SIGTSTP 대신 SIGCONT 신호를 전송하여 이러한 프로세스를 재개할 수 있습니다.

답변3

STOP일시 중단하려는 프로세스에 신호를 보냅니다.

CONT정지된 프로세스를 취소하기 위해 나중에 신호를 보낼 수 있습니다 .

예를 들어:

pkill -STOP terminal

그러면 모든 terminal프로세스가 중단됩니다.

 pkill -CONT terminal

그러면 이름이 지정된 모든 프로세스가 일시중단 해제됩니다 terminal.

관련 정보