端末に接続されていないプロセスを終了する方法

端末に接続されていないプロセスを終了する方法

私はOpenVZ VPSを使用しており、root以外のユーザーとしてバックグラウンドプロセスを作成してから拒否しました。

user@server:~$node server.js &
user@server:~$disown

VPSからSSHを出て、もう一度入ってきましたが、PIDを使用してプロセスを終了することはできないようです。Pkill 1292。ルートとしても失敗します。実行するとtop実行し続けるので死んでいないことを知っています。また、実行してみると、ps -l -p 1292プロセスが実行され続けることがわかります。

プロセスが端末セッションに接続されていないことがわかります。メモこのコマンドは TTY に疑問符を表示します。

スクリーンショット

このプロセスをどのように終了できますか?

ベストアンサー1

pkill(同じインターフェースを使用するのと同じように、もともとはpgrepSolarisコマンドでしたが、現在Linux(procpsパッケージ)を含む他の多くのUnixシリーズシステムにあります。)名前に従ってプロセスを終了することです。

pkill regexp

SIGTERMすべてのプロセスに対して終了(信号を送信)名前1 は与えられた正規表現と一致します。

これにより、pkill node名前に含まれるすべてのプロセスが終了しますnodepkill -x node(正確に一致する場合は / の-xように)を使用して、名前を次のように終了します。greppgrep正確に node

pid²に基づいて終了するのはそれだけですkill(ほとんどのシェルに組み込まれているコマンドなので、シェル操作でも使用できますが、スタンドアロンユーティリティとしても使用できます)。

kill 6806(の略語kill -s TERM 6806)が失敗した場合は、次のことができます。最後の手段で試してみるkill -s KILL 6806と異常終了します。


^プロセス名この概念はオペレーティングシステムによって少し異なります。 Linuxでは、通常、プロセス(または最も近い祖先)によって実行されるファイルの基本名の最初の15バイトです。ただし、プロセスはこれを任意の(15バイト以下)値に変更できます。pkill -fパラメータリストの一致も参照してください。

²killプロセスによっては殺すことができます。グループID。kill -- -123プロセスグループIDが123のすべてのプロセスにSIGTERM信号を送信します。組み込み POSIX シェルの作業仕様を使用する場合 (killkill %spec:killグループ

おすすめ記事