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?

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.


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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.