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

Список выполняемых заданий.

pdf is opened image is opened text file opened 

Это все в fg / bg.

Есть ли какой-либо вариант для принудительного закрытия конкретной работы? Кроме того, я хочу знать, можно ли закрыть задания с помощью команды.

4 Solutions collect form web for “как закрыть работу один за другим? есть ли какие-либо варианты?”

Пока все задания начинаются с вашей текущей оболочки: используйте «jobs», чтобы получить список фоновых заданий. Каждый из них будет иметь числовой идентификатор, начиная с «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 & $ 

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

  1. Получить PID процесса с помощью pgrep :

     $ pgrep evince 10834 

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

     $ 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 для одиночных PID и kill $(pgrep foo) для многих PID.

Да, вы можете убить одно задание с помощью 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

root 14932 0.0 0.0 105348 864 pts / 3 S + 18:19 0:00 grep –color ntpd

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

После этого вам нужно только закончить его командой kill:

~ $> убить 2911

Есть более причудливые способы, но это быстрее, на мой взгляд.

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

: ~ $ pkill -9 PROCESS_NAME

замените «PROCESS_NAME» своим именем процесса, которое вы хотите убить. он убивает весь процесс, который принадлежит имени процесса.

  • не может убить процесс gedit из своего PID
  • Запускать процесс только для специального / выделенного pid
  • Как завершить фоновый процесс?
  • Отправляет SIGKILL в процесс с заменой, который отменит его до убийства?
  • Использование `kill -s 0 $ pid` vs` ] `, чтобы определить, работает ли PID
  • Как я могу убить вредоносное ПО на сервере AWS EC2? (скомпрометированный сервер)
  • Отправка сигнала в родительский процесс
  • Какова лучшая стратегия, чтобы поймать тайный процесс?
  • как убить работу в фоновом режиме?
  • Процесс непрерывного резервного копирования на Solaris
  • kill -9 не может убить процесс с родительским PID = 1
  • Linux и Unix - лучшая ОС в мире.