Wie kann ich einen Prozess mit einem Namen starten, der nichts bewirkt?

13

Ich möchte einen Prozess starten, der nichts tut, aber noch ausgeführt wird. Angenommen, ich starte einen Prozess mit dem Namen sadhadxk, und wenn ich ihn starte pgrep -x "sadhadxk", erhalte ich die PID-Nummer zurück, wie es bei jedem normalen Prozess der Fall ist.

Gibt es also eine Möglichkeit, einen Dummy-Prozess zu starten?

Anzeigename
quelle

Antworten:

11

Du könntest es tun:

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

Es sollte sowohl den Prozessnamen als auch argv [0] auf Systemen festlegen, auf denen dies unterstützt wird, und sadhadxkin beiden angezeigt psund ps -fausgegeben werden, sodass beide pgrep -xund übereinstimmen sollten pgrep -fx.

Stéphane Chazelas
quelle
9
> bash -c 'exec -a sadhadxk sleep 1000000' &

pgrep funktioniert aber nicht

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

Korrektur: Funktioniert pgrepaber nicht gegen den Befehlsnamen (das ist der Name der laufenden Binärdatei), sondern nur gegen die Befehlszeile:

> pgrep -f sadhadxk
18931
Hauke ​​Laging
quelle
1

Versuchen Sie Folgendes:

sleep 600 &
Gilles Quenot
quelle