Comment démarrer un processus avec un nom qui ne fait rien?

13

Je veux démarrer un processus qui ne fait rien mais qui est toujours en cours d'exécution. Supposons que je lance un processus appelé sadhadxket que lorsque je lance, pgrep -x "sadhadxk"je récupère le numéro PID, comme tout processus normal fonctionne.

Existe-t-il un moyen de démarrer un processus factice?

Afficher un nom
la source

Réponses:

11

Vous pourriez faire:

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

Il doit définir à la fois le nom du processus et argv [0] sur les systèmes où il est pris en charge devrait donc montrer sadhadxkà la fois pset la ps -fproduction, devraient donc être adaptés à la fois pgrep -xet pgrep -fx.

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

pgrep ne fonctionne pas mais

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

Correction: pgrepfonctionne mais pas contre le nom de la commande (qui est le nom du binaire en cours d'exécution), uniquement contre la ligne de commande:

> pgrep -f sadhadxk
18931
Hauke ​​Laging
la source
1

Essayez de faire ceci:

sleep 600 &
Gilles Quenot
la source