Что означает убить %1?

Что означает убить %1?

Я видел следующую команду:

$ kill %1

Каково использование этого утверждения?

решение1

Вкратце,

Это значит убитьработаномер 1, непроцессномер один.

Список заданий можно получить с помощью jobsкоманды.

В более широком смысле это относится к той оболочке, которую вы используете, и синтаксис может отличаться от оболочки к оболочке.

Используя оболочку bash, пользователь может иметь несколько процессов (заданий), выполняемых одновременно, родительским процессом которых является используемая вами оболочка. Основы управления заданиями Google bash

Встроенная команда kill используется для отправки сигнала одному из этих конвейеров заданий. Если конкретный сигнал не указан, используется SIGTERM, который обычно завершает (убивает) задание, отсюда и название kill. Но можно указать любой сигнал, некоторые из которых могут каким-то образом сбросить процесс или вызвать поведение, не приводящее к уничтожению.

Наконец, %1 — это один из способов (из многих!) указать, какому заданию вы хотите отправить сигнал. %1 относится к заданию, находящемуся наверху стека фоновых заданий.

решение2

Например, когда вы переводите процесс в фоновый режим:

# find / &
[1] ....

# ls -lr /usr &
[2] ....

Теперь, здесь есть два процесса, работающих в фоновом режиме и подключенных к текущему терминалу. Если вы это сделаете: убейте %1

первая команда 'find' выше будет завершена. Как сказал Андерс, вы можете вывести список текущих фоновых процессов на терминале и завершить их:

# jobs
[1] find / ...
[2] ls -lr ...

# kill %1

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