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?

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.


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

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.