터미널에서 오래 실행되는 프로그램을 일시 중지 하시겠습니까?


17

터미널에서 실행중인 프로그램을 일시 중지하는 데 사용할 수있는 키보드 키 조합이 있습니까? 중요한 경우 프로그램이 일시 중지 된 동안 해당 터미널 내부에서 다른 것을 실행하려고하지 않습니다. 프로그램 실행을 일시 중지하고 나중에 다시 시작하고 싶습니다. 어떻게해야합니까?


정확히 어떤 프로그램입니까?
jobin

@Jobin C ++로 작성한 프로그램. 그러나 소스 코드를 변경하고 싶지 않습니다.
becko

재부팅 또는 다른 작업 후 프로세스를 재개 하시겠습니까?
jobin

@Jobin 아니요, 재부팅하고 싶지 않습니다. 나중에 다시 시작하고 싶지만 중간에 시스템을 재부팅하지 않습니다.
becko

답변:


17

Control+를 누릅니다 Z.

프로세스가 일시 중단되고 쉘로 돌아갑니다. 당신은 할 수 있습니다 당신이 원하는 경우 지금 다른 일을하거나 입력하여 백그라운드 프로세스로 돌아갈 수 있습니다 %다음 Return.

반응이 필요한 작업을 수행하는 경우 시스템에 문제를 일으키지 만 nano인스턴스 와 같은 경우 모든 것이 정상입니다.


터미널 프로세스를 일시 중지해도 안전합니까?
Pandya

@ 판 디아 : 왜 안돼?
jobin

@Pandya 뭔가가 매우 시간이 민감 할 경우 ... 과정에 따라 그 확신이 중단 될 것으로 예상되지 않을 수도 있지만, 대부분의 것들이 한다 괜찮을.
Oli

16

이것은 배쉬 작업 제어입니다

CTL-Z 를 사용 하여 작업을 중지하십시오.

그런 다음 백그라운드 에서 bg 를 입력하여 백그라운드 에서 실행할 수 있습니다 . 작업이있는 경우 정확히 그렇게합니다.

둘 이상인 경우 작업 을 사용 하여 나열 하고 원하는 효과에 fg % Nbg % N 을 사용할 수 있습니다 .

예:

ubuntu @ ip-10-170-59-120 : ~ $ 찾기 / usr -name "* .so"
/usr/lib/python2.7/dist-packages/OpenSSL/crypto.so
/usr/lib/python2.7/dist-packages/OpenSSL/SSL.so
/usr/lib/python2.7/dist-packages/OpenSSL/rand.so
/usr/lib/python2.7/dist-packages/gi/_glib/_glib.so
/usr/lib/python2.7/dist-packages/gi/_gobject/_gobject.so
/usr/lib/python2.7/dist-packages/gi/_gi.so
/usr/lib/python2.7/config/libpython2.7.so
...
^ Z
[1] + 찾기 중지 / usr -name 

ubuntu @ ip-10-170-59-120 : ~ $ 직업
[1] + 찾기 / usr -name "* .so"중지

우분투 @ ip-10-170-59-120 : ~ $ fg % 1
/ usr -name "* .so"를 찾으십시오.
/usr/lib/php5/20090626+lfs/apc.so
/usr/lib/php5/20090626+lfs/memcache.so
/usr/lib/php5/20090626+lfs/mysql.so
...

TTY에 부착되지 않은 다른 것에는 SIGSTOP 및 SIGCONT를 사용할 수 있습니다 . 예를 들어, 데몬이 문제를 일으킨다 고 생각하지만 그 중 하나를 모르는 경우 pid SIGSTOP을 보내면 일시 중지와 같은 변경 사항을 확인하고 변경 사항을 확인하고 그렇지 않은 경우 헹구고 반복 할 수 있습니다. 문제를 찾으십시오.

도움이 되었기를 바랍니다.


1
좋은 대답입니다! 그냥 bash 일뿐 만 아니라 추가 할 수 있습니까? Korn 쉘은 동일한 방식으로 작동합니다.
Sergiy Kolodyazhnyy

4

이 답변이 약간 늦다는 것을 알고 있지만 바로 가기 Ctrl+s를 사용 하여 프로그램을 중지 할 수 있습니다 (출력이나 이와 같은 것을 읽으려는 경우) 바로 가기를 계속 사용할 수 있습니다 Ctrl+q.

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