방금 SLC6(RHEL6에서 파생된 SL6)을 설치했습니다. 프로세스를 시작한 터미널에서 Ctrl-Z를 눌러 실행 중인 프로세스를 백그라운드로 보낼 수 있습니다. 그러나 sudo를 사용하여 명령을 시작하면 이 작업을 수행할 수 없습니다. SLC5에서는 원활하게 작동했습니다.
이를 허용하기 위해 수행할 수 있는 구성이 있습니까?
편집 다음은 실행하려는 명령의 예입니다.
[user@pcald02 ~]$ sudo emacs
^Z^C
Ctrl-Z를 누르면 ^Z 기호가 표시되지만 그 외에는 아무 일도 일어나지 않습니다. 이제 Ctrl-C도 효과가 없다는 것을 깨달았습니다.
sudo 없이:
[user@pcald02 ~]$ emacs
^Z
[1]+ Stopped emacs
[user@pcald02 ~]$
답변1
귀하의 질문을 이해한다면 다음은 CentOS 6.4에서 잘 작동하며 SLC6과 매우 유사할 것으로 예상됩니다.
초기 명령$ sudo sleep 300
^Z
[1]+ Stopped sudo sleep 300
배경
$ bg
[1]+ sudo sleep 300 &
$ jobs
[1]+ Running sudo sleep 300 &
$ ps -eaf|grep sudo
root 25752 25669 0 09:53 pts/0 00:00:00 sudo sleep 300
sam 25755 25669 0 09:53 pts/0 00:00:00 grep sudo
작업 종료( Ctrl+ C)
$ fg
sudo sleep 300
^C
$ ps -eaf|grep sudo
sam 25758 25669 0 09:53 pts/0 00:00:00 grep sudo
운영 체제 정보
$ uname -a
Linux mungr 2.6.32-358.6.1.el6.x86_64 #1 SMP Tue Apr 23 19:29:00 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/redhat-release
CentOS release 6.4 (Final)
답변2
CTRL-Z
SIGTSTP
프로세스에 신호를 보냅니다.
가장 간단한 방법은 다음과 같습니다.
sudo kill -TSTP <pid>
다른 껍질에서.
답변3
여기서 진짜 문제는 실행하려는 명령이 Emacs라는 것입니다. Emacs를 루트로 실행하는 것은 결코 좋은 생각이 아닙니다. Emacs는 또한 많은 키 입력을 덮어쓰기 때문에 C-z
그 이유만으로는 작동하지 않을 수 있습니다. root
이미 로그인 한 경우 emacs
디스플레이에 그래픽으로 시작될 수 있습니다. root
기타 등등
sudo:
Emacs에서 파일을 편집하려면 Tramp의 방법을 확인하세요 sudo
. 예를 들어 를 편집하려면 경로를 로 /etc/motd
입력 하고 입력하세요 .C-x C-f
/sudo:root@localhost:/etc/motd