Список и убить на рабочих местах в UNIX - PullRequest
10 голосов
/ 01 декабря 2009

Я создал задание с помощью команды at в Solaris 10.

Сейчас это работает, но я хочу убить его, но я не знаю, как найти номер работы и как убить эту работу или процесс.

Ответы [ 4 ]

13 голосов
/ 01 декабря 2009

Вы должны быть в состоянии найти свою команду в варианте ps, например:

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

Затем, когда он найден, будет просто использовать kill для завершения процесса (разрешения разрешают).

Если вы говорите об избавлении от заданий в очереди at (которые еще не запущены), вы можете использовать atq для их перечисления и atrm для их избавления.

9 голосов
/ 01 декабря 2009

Чтобы удалить работу, которая еще не запущена, вам нужна команда atrm. Вы можете использовать команду atq, чтобы получить ее номер в списке.

Чтобы убить задание, которое уже запущено, вам нужно выполнить для него grep:

ps -eaf | grep <command name>

, а затем используйте kill, чтобы остановить его.

Более быстрый способ сделать это на большинстве систем:

pkill <command name>
3 голосов
/ 22 октября 2014

at -l для получения списка рабочих мест, который возвращает результат так:

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

atrm 10 убивает работу 10

Или так мой сисадмин сказал мне, и это

1 голос
/ 01 декабря 2009

Первый

ps -ef

для просмотра всех процессов. Обратите внимание на номер процесса, который вы хотите убить. Тогда

kill 1234

если вы замените 1234 на номер процесса, который вам нужен.

В качестве альтернативы, если вы абсолютно уверены, что существует только один процесс с определенным именем, или вы хотите уничтожить несколько процессов с одинаковым именем

killall processname
...