web-dev-qa-db-ja.com

ルートがあってもプロセスを強制終了できません。診断する方法は?

私のUbuntuLinux(12.04)で実行されているbashプロセスはたくさんあります。ターミナルを閉じても、System Monitorに表示されます。

以下のように殺してみましたが、そのままです。問題を診断する方法、なぜそれらを終了できないのですか?

user$ ps aux | grep bash
user    2807  0.0  0.0   9484    56 pts/20   Ss+  Mar18   0:00 /bin/bash
user    4431  0.0  0.1   9228  5616 pts/7    Ss   10:39   0:00 bash
user    4655  0.0  0.0   4372   844 pts/7    R+   10:45   0:00 grep --color=auto --exclude-dir=.svn bash
user    5664  0.0  0.0  12764    12 pts/6    Ss   Feb05   0:01 /bin/bash
user    5812 99.6  0.1  11276  7088 ?        Rs   Sep22 3923:00 bash
user    6174  0.0  0.0  13016    28 pts/19   Ss+  Feb13   0:04 /bin/bash
p        10964  0.0  0.0  11700    28 pts/2    Ss+  Feb11   0:01 bash 
p        11126  0.0  0.0   7952   560 pts/3    Ss+  Feb11   0:00 bash 
user   18195  0.0  0.0  17320   344 pts/9    Ss+  Apr22   0:29 /bin/bash
user   21721  0.0  0.0  15924     4 pts/10   Ss+  Feb01   0:10 /bin/bash
user   22915  4.7  0.3  19400 13056 pts/22   Rs+  Jul29 3950:07 /bin/bash
user   24030  0.0  0.0  13740     4 pts/23   Ss+  Mar24   0:15 /bin/bash
user   29787  0.0  0.1   9220  5572 pts/11   Ss+  Sep23   0:00 /bin/bash
user$ 
user$ pkill -f bash
pkill: 10964 - Operation not permitted
pkill: 11126 - Operation not permitted
user$ Sudo pkill -f bash
user$ 
user$ ps aux | grep bash
user    2807  0.0  0.0   9484    56 pts/20   Ss+  Mar18   0:00 /bin/bash
user    4431  0.0  0.1   9228  5616 pts/7    Ss   10:39   0:00 bash
user    4660  0.0  0.0   4372   844 pts/7    R+   10:45   0:00 grep --color=auto --exclude-dir=.svn bash
user    5664  0.0  0.0  12764    12 pts/6    Ss   Feb05   0:01 /bin/bash
user    5812 99.6  0.1  11276  7088 ?        Rs   Sep22 3923:21 bash
user    6174  0.0  0.0  13016    28 pts/19   Ss+  Feb13   0:04 /bin/bash
p        10964  0.0  0.0  11700    28 pts/2    Ss+  Feb11   0:01 bash 
p        11126  0.0  0.0   7952   560 pts/3    Ss+  Feb11   0:00 bash 
user   18195  0.0  0.0  17320   344 pts/9    Ss+  Apr22   0:29 /bin/bash
user   21721  0.0  0.0  15924     4 pts/10   Ss+  Feb01   0:10 /bin/bash
user   22915  4.7  0.3  19400 13056 pts/22   Rs+  Jul29 3950:29 /bin/bash
user   24030  0.0  0.0  13740     4 pts/23   Ss+  Mar24   0:15 /bin/bash
user   29787  0.0  0.1   9220  5572 pts/11   Ss+  Sep23   0:00 /bin/bash
1
user13107

「殺せない」bashプロセスがユーザーpとして実行されていることに注意してください。

user    6174  0.0  0.0  13016    28 pts/19   Ss+  Feb13   0:04 /bin/bash
p        10964  0.0  0.0  11700    28 pts/2    Ss+  Feb11   0:01 bash 
p        11126  0.0  0.0   7952   560 pts/3    Ss+  Feb11   0:00 bash 
user   18195  0.0  0.0  17320   344 pts/9    Ss+  Apr22   0:29 /bin/bash

ユーザーuserとして実行しているため、ユーザーpのプロセスを強制終了することはできません。

Sudoアクセス権がある場合は、rootまたはpユーザーとしてkillコマンドを発行できます。古いユーザーセッションである可能性がある場合は、kill -HUPを使用する方がkillだけではなく、編集者などが終了する前に未保存の作業のバックアップを保存できるためです。また、インタラクティブなシェルプロセス(つまり、古いセッション)は、通常のkillの影響を受けない可能性がありますが、kill -HUPは問題なく機能します。

ユーザーpとしてkillコマンドを発行するには:

user$ Sudo -u p kill -HUP 10964 11126

またはルートパワーを使用して:

user$ Sudo kill -HUP 10964 11126

ユーザーpとして実行されているプロセスの場合、ユーザーpとして発行されたkillコマンドは、rootによって発行されたkillコマンドと同じくらい強力です。通常のユーザーでさえ、彼らが自分自身を所有するプロセス。

1
telcoM

システムでbashを殺すことはできないと思いませんか?アプリケーション/プログラムをbashで実行すると、bashで実行されているプログラムを強制終了できます。これで、bashで実行されるすべてのプロセスIDプログラムが見つかります。あなたがあなたのターミナルで示したように:

> user    4660  0.0  0.0   4372   844 pts/7    R+   10:45   0:00 grep
> --color=auto --exclude-dir=.svn bash

そのプロセスを殺してみてください:

Sudo kill 4660

または

Sudo kill  -9 4660

何が起こっているのか教えてください

0
Anwar