web-dev-qa-db-ja.com

UNIXでのatジョブの一覧表示と強制終了

Solaris 10でatコマンドを使用してジョブを作成しました。

今は機能していますが、私はそれを殺したいのですが、どのようにジョブ番号を見つけることができるか、そのジョブまたはプロセスを殺す方法がわかりません。

11
soField

次のようなpsバリアントを使用してコマンドを見つけることができるはずです。

ps -ef
ps -fubob # if your job's user ID is bob.

それから、見つけたら、killを使用してプロセスを強制終了するのは簡単なことです(許可が許可されます)。

atキュー内のジョブ(まだ実行されていない)を削除することについて話している場合は、atqを使用してそれらをリストし、atrmを使用して削除できますそのうちの。

13
paxdiablo

まだ実行されていないジョブを削除するには、atrmコマンドが必要です。 atqコマンドを使用して、atリストでその番号を取得できます。

すでに実行を開始しているジョブを強制終了するには、次を使用してgrepする必要があります。

ps -eaf | grep <command name>

killを使用して停止します。

ほとんどのシステムでこれを行う簡単な方法は次のとおりです。

pkill <command name>
9
Benj

at -lジョブをリストします。これにより、次のような結果が得られます。

age2%> at -l
11      2014-10-21 10:11 a hoppent
10      2014-10-19 13:28 a hoppent

atrm 10ジョブ10を強制終了

または、私のシステム管理者が私に言った、そしてそれ

3
user2999323

最初

ps -ef

すべてのプロセスをリストします。強制終了するプロセスのプロセス番号に注意してください。それから

kill 1234

1234を希望するプロセス番号に置き換えましたか。

または、特定の名前のプロセスが1つだけであることを完全に確信している場合、または同じ名前を共有する複数のプロセスを強制終了する場合

killall processname
1
bguiz