Я думаю, что воспроизвел вашу проблему с помощью этого сценария npx
:
#!/bin/bash
set -x
ps -ef | grep azurite
pgrep -f azurite
Когда вы вызываете ./npx
, ps
находит только grep azurite
, а pgrep
ничего не находит.
Когда вы звоните ./npx azurate
, результат будет
+ ps -ef
+ grep azurite
walter 142 9 0 17:17 tty1 00:00:00 /bin/bash ./npx azurite
walter 145 142 0 17:17 tty1 00:00:00 grep azurite
+ pgrep -f azurite
142
В этом примере pid
найден из вызова npx
.
С pgrep azurite
(без -f
) может быть исправлено (я тестировал другой скрипт azurite
), но я не знаю, когда он передается в качестве аргумента программе.
Возможно, вам придется использовать
ps -ef | awk '/[a]zurite/ {print $2}'