как закрыть задания один за другим? есть ли какие-либо опции?

useradd должен работать (я сделал его на Ubuntu). Возможно, проверьте, что каждый из Ваших args корректен (тебя, группы существуют, путь является правильным колотить). Можно выполнить команду только с паролем и пользователем, и затем использовать userdel, чтобы удалить и затем повторить с большим количеством параметров, видеть то, что каждый вызывает проблему (метод решения "в лоб").

Существует также newusers (см. страницу справочника), по крайней мере, в соответствии с Ubuntu, где Вы даете ей файл с passwd файлом как информация, включая незашифрованные пароли и она создаст тех пользователей. Хороший способ сделать многих пользователей сразу.

1
06.12.2013, 01:34
4 ответа

Пока задания были все запущены с Вашей текущей оболочки: используйте 'задания' для получения списка фоновых заданий. У каждого будет числовой идентификатор, запускающийся от '1'. Затем можно принести задание к переднему плану с fg %1, отправьте его в фон, если это приостанавливается с bg %1, или уничтожьте его с kill %1 (используйте корректное число для задания, которое Вы пытаетесь уничтожить, конечно).

$ jobs
$ sleep 20 &
[1] 1770
$ sleep 30 &
[2] 1771
$ sleep 40 &
[3] 1773
$ jobs
[1]   Running                 sleep 20 &
[2]-  Running                 sleep 30 &
[3]+  Running                 sleep 40 &
$ kill %2
$ jobs
[1]   Running                 sleep 20 &
[2]-  Terminated              sleep 30
[3]+  Running                 sleep 40 &
$ jobs
[1]-  Running                 sleep 20 &
[3]+  Running                 sleep 40 &
$ 
5
27.01.2020, 23:13

Существует несколько основных инструментов для этого, самого полезного существа pgrep и pkill но необходимо также взглянуть на kill и killall. Кратко, pgrep позволяет Вам искать процессы и возвращает их идентификатор Процесса (PID), и другие три позволяют Вам уничтожить процессы. Я буду использовать evince, мое средство просмотра PDF для этого примера.

  1. Получите PID использования процесса pgrep:

    $ pgrep evince
    10834
    

    Так, evince выполняет и имеет PID 10834. Обратите внимание на это, если у Вас есть несколько экземпляров evince открытый, Вы получите много PIDs:

    $ pgrep evince
    10834
    11834
    11885
    
  2. Уничтожьте процесс PID:

    $ pkill 10834
    
  3. Уничтожьте весь PID, возвратился pgrep evince:

    $ kill $(pgrep evince)
    
  4. Уничтожьте все названные процессы evince:

    killall evince
    

Так, используйте killall PROG_NAME для уничтожения всех рабочих экземпляров использования программы, это - имя, например. killall firefox. Использовать pkill или kill для единственного PIDs и kill $(pgrep foo) для многих PIDs.

2
27.01.2020, 23:13
  • 1
    Если они - задания оболочки, это является более прямым и менее подверженным ошибкам для использования обозначений задания, например. kill %1 –  Gilles 'SO- stop being evil' 06.12.2013, 01:37

Да можно уничтожить единственное задание с PID, присвоенным заданию.

Например, задание ntpd

1º необходимо получить PID задания ntpd:

~ $> PS aux | grep ntpd

ntp 2911 0.0 0.0 30204 1204? Ss Oct15 0:03 ntpd-u ntp:ntp-p/var/run/ntpd.pid-g

базируйтесь 14932 0.0 0.0 105348 864 pts/3 S +, 18:19 0:00 grep - окрашивает ntpd

Можно получить PID из второго столбца. Тем числом является присвоенный PID.

После того, как это, которое только необходимо сделать, закончить его командой уничтожения:

~ $> уничтожают 2911

Существуют более необычные пути, но это быстрее, по-моему.

0
27.01.2020, 23:13
  • 1
    Если они - задания оболочки, это является более прямым и менее подверженным ошибкам для использования обозначений задания, например. kill %1 –  Gilles 'SO- stop being evil' 06.12.2013, 01:35

Основная команда для удаляет процесс:

: ~ $ pkill-9 PROCESS_NAME

замените "PROCESS_NAME" своим именем процесса, которое Вы хотите уничтожить. это уничтожает весь процесс, которые тяготеют к названию процесса.

0
27.01.2020, 23:13

Теги

Похожие вопросы