Як я можу розпочати процес із будь-яким ім'ям, яке нічого не робить?


14

Я хочу розпочати процес, який нічого не робить, але все ще працює. Скажімо, я запускаю процес, який називається sadhadxk, і коли я запускаю, pgrep -x "sadhadxk"я отримаю PID-номер, як і будь-який звичайний процес.

То чи є спосіб розпочати процес манекена?

Відповіді:


12

Ви можете зробити:

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

Він повинен встановлювати як ім'я процесу, так і argv [0] в системах, де він підтримується, так повинен відображатися sadhadxkв обох psі ps -fвихідних даних, тому вони повинні відповідати обом pgrep -xі pgrep -fx.


9
> bash -c 'exec -a sadhadxk sleep 1000000' &

pgrep не працює, але

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

Виправлення: pgrepпрацює, але не проти імені команди (яка є ім'ям запущеного бінарного файлу), лише проти командного рядка:

> pgrep -f sadhadxk
18931

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.