Я - новичок для окружения программирования. Предположение, что я запустил программу (например, NetBeans) от моего терминала, если я ввожу
ps aux|grep netbeans
Я получаю вывод
pre 18775 1.2 0.0 12524 1972 pts/3 S 20:17 0:00
где 18775 указывает PID и т.д. процесса.
Затем я уничтожаю его использование
kill 18775.
на который исчезает NetBeans UI. Если я пытаюсь получить pid при помощи первой команды, я все еще добираюсь:
pre 19137 0.0 0.0 9136 1068 pts/3 S+ 20:19 0:00 grep --color=auto netbeans
Если процесс был уничтожен, почему он все еще показывает вышеупомянутый вывод?
grep захватывает себя. Попробуйте что-то как:
ps aux |grep [n]etbeans
это мешает grep показывать себя в выводе
Никогда не используйте ps
вместе с grep
.
Скорее используйте killall netbeans
, pkill netbeans
уничтожить его. Для идентификатора процесса pgrep netbeans
.
Больше на PS и grep.
Поскольку это - PID для процесса grep, который стоится в очереди для погони ps aux
.