Как я могу запустить процесс с любым именем, которое ничего не делает?


13

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

Так есть ли способ начать фиктивный процесс?

Ответы:


11

Вы могли бы сделать:

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.