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をrootとして実行することは決して良い考えではありません。 Emacsは多くのキーストロークを上書きするため、そのC-z
理由だけでは機能しない可能性があります。root
すでにログインしている場合は、emacs
ディスプレイにグラフィックで起動できます。root
その他など
sudo:
Emacsでファイルを編集するには、Trampの方法を確認してくださいsudo
。たとえば、編集するには、パスをとして/etc/motd
入力して入力します。C-x C-f
/sudo:root@localhost:/etc/motd