Можно использовать pactl
, прочитайте его страницу справочника для получения дополнительной информации.
при попытке найти PID firefox
, Вы запускаете новый процесс фильтры все нежелательные процессы. этот процесс фильтра (grep firefox
) также содержит критерий поиска "Firefox" и таким образом оказывается.
каждый раз, когда Вы перезапускаете ps ax | grep firefox
Вы запускаете новое grep
- процесс, следовательно это - PID, продолжает изменяться.
Так, короткий ответ:
используйте PID 2213 для уничтожения Firefox
Если Вы хотите избавиться от положительной лжи, можно использовать другого grep
фильтровать его:
$ ps ax | grep firefox | grep -v grep
еще одна опция состоит в том, чтобы использовать pgrep
(который только даст Вам PID найденных процессов),
$ pgrep firefox
2213
Другие ответы уже объясняют, почему Вы видите два упоминания о firefox
. Вот почему способ сделать, чего Вы делаете попытку, не состоит в том, чтобы проанализировать ps
но использовать pkill
и pgrep
команды:
pgrep, pkill - look up or signal processes based on name and other
attributes
Например, для нахождения рабочих экземпляров firefox
:
$ pgrep -l firefox
1020 firefox
Уничтожить их:
$ pkill firefox
Процесс Firefox, который необходимо уничтожить:
2213 ? Sl 2:01 /usr/lib/firefox/firefox
Эти 2 644 процесса являются командой grep, которую Вы выполняете, которые, как Вы упоминаете правильно, изменяют его идентификатор каждый раз, когда Вы продолжаете управлять им.