Intereting Posts
Установка скорости мыши в Gnome, как и в других средах рабочего стола Сохранить в файл вывод git fetch Посмотрите, работает ли скрипт при использовании #! / Usr / bin / env Управление стандартным принтером пользователей в качестве администратора «Установка файловой системы ext3 с использованием подсистемы ext4» – что это значит? Что произойдет, если я экспортирую переменную $ HOME при входе в систему? Почему производительность VNC, похоже, снизилась за эти годы? Почему некоторые файлы Linux имеют суффикс 'd'? Asteriks в имени файла, поскольку wildcard не работает Поддержка Ext4 в Grub 0.9X (наследие) и Grub 1.9X (Grub2) выполнить скрипт bash внутри .bashrc Cifs монтирует общий доступ к Windows chown все файлы на основе шаблона имени файла в текущем каталоге не может заставить «awk for loop» работать, используя basename Двойные внешние мониторы на док-станции Dell E-Port II зеркалируются друг с другом

Убить все задания в очереди

Мне нужно убить все заданные в очереди и выполняемые задания на моем 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