Удалить все поставленные в очередь задания

Удалить все поставленные в очередь задания

Мне нужно завершить все поставленные в очередь и запущенные задания на моем ID. Я пробовал

   at -l | awk '{print $1}'| at -r {}

Но я продолжаю получать

   {} does not exist

Это наводит меня на мысль, что я неправильно понимаю это утверждение.

решение1

|направляет вывод на стандартный ввод следующей команды, а не на ее аргументы командной строки.

Чтобы удалить все поставленные в очередь задания, запустите

at -l | awk '{print $1}'| xargs at -r

в качестве альтернативы вы можете использовать

at -r  $( at -l | awk '{print $1}' )

$( ... )заменяется выводом содержащихся в нем команд.

Смотрите такжеэтот связанный вопрос.

Обратите внимание, что это просто удаляет задания из atq, но не завершает работающие задания.

Если командная строка процесса соответствует ШАБЛОНУ и нет других похожих процессов, запущенных под вашим именем пользователя, вы можете завершить их с помощью

pgrep -u $USER PATTERN

Связанный контент