„pgrep -c” w terminalu MacOS

1

Chciałbym przetłumaczyć następujące polecenie, które działa w systemie Linux Ubuntu i CentOS, do pracy w systemie MacOS:

echo $ (pgrep -c -P $$)

Jest przeznaczony do wywoływania z poziomu skryptu python:

subprocess.check_output („echo $ (pgrep -c -P $$)”, shell = True)

i uruchamiaj nowe zadania w pętli, gdy liczba procesów spadnie poniżej progu.

Problem polega na tym, że wersja pgrep dla MacOS nie ma opcji -c.

Wielkie dzięki za Twoją pomoc!

minor7
źródło
1
Wydaje się, że to trochę problem XY. Dzięki podprocesowi możesz prawdopodobnie bezpośrednio śledzić dzieci lub użyć psJeśli naprawdę chcesz pozwolić, aby jakikolwiek inny podobny proces wpływał na pętlę. Bez kontekstu logiki rozwidlania dzieci trudno jest zaproponować jakieś alternatywy.
bmike

Odpowiedzi:

1

Jeśli szukasz liczby procesów potomnych, możesz użyć, pgrep -P <pid> | wc -lponieważ dane wyjściowe są ustawione na PID na linię i generują wc -lliczbę linii.

onik
źródło