Jak mogę rozpocząć proces o dowolnej nazwie, która nic nie robi?

14

Chcę rozpocząć proces, który nic nie robi, ale nadal działa. Powiedzmy, że rozpoczynam proces o nazwie sadhadxk, a kiedy uruchomię pgrep -x "sadhadxk", odzyskam numer PID, jak każdy normalny proces.

Czy jest więc jakiś sposób na rozpoczęcie manekina?

Wyświetlana nazwa
źródło

Odpowiedzi:

12

Mógłbyś:

perl -MPOSIX -e '$0="sadhadxk"; pause' &

Powinien ustawić zarówno nazwę procesu, jak i argument argv [0] na systemach, na których jest obsługiwany, więc powinien pokazywać sadhadxkzarówno oba, jak psi ps -fdane wyjściowe, więc powinien być dopasowany zarówno przez, jak pgrep -xi pgrep -fx.

Stéphane Chazelas
źródło
9
> bash -c 'exec -a sadhadxk sleep 1000000' &

pgrep nie działa, ale

> ps | grep '[s]adhadxk'
18931  [...] sadhadxk 1000000

Poprawka: pgrepdziała, ale nie w stosunku do nazwy polecenia (która jest nazwą uruchomionego pliku binarnego), tylko w stosunku do wiersza poleceń:

> pgrep -f sadhadxk
18931
Hauke ​​Laging
źródło
1

Spróbuj to zrobić:

sleep 600 &
Gilles Quenot
źródło