Shell
殺死所有排隊的作業
我需要殺死我 ID 上所有排隊和正在執行的作業。我試過了
at -l | awk '{print $1}'| at -r {}
但我不斷得到
{} does not exist
這讓我相信我在解析這個陳述是錯誤的。
|
管道輸出到下一個命令的標準輸入,而不是它的命令行參數。要刪除所有排隊的作業,請執行
at -l | awk '{print $1}'| xargs at -r
或者,您可以使用
at -r $( at -l | awk '{print $1}' )
$( ... )
被它包含的命令的輸出替換。另請參閱此相關問題。
請注意,這只是從 atq 中刪除作業,但不會終止正在執行的作業。
如果程序命令行與 PATTERN 匹配,並且您的使用者名上沒有其他類似程序正在執行,則可以使用以下命令將其殺死
pgrep -u $USER PATTERN