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!
ps
Jeśli naprawdę chcesz pozwolić, aby jakikolwiek inny podobny proces wpływał na pętlę. Bez kontekstu logiki rozwidlania dzieci trudno jest zaproponować jakieś alternatywy.Odpowiedzi:
Jeśli szukasz liczby procesów potomnych, możesz użyć,
pgrep -P <pid> | wc -l
ponieważ dane wyjściowe są ustawione na PID na linię i generująwc -l
liczbę linii.źródło