Prozess hat keinen Namen, daher ist es nicht möglich, PID zu finden, indem nach einer Zeichenfolge gesucht wird, die einen Namen darstellen kann oder nicht. Was der Prozess hat, ist der Befehl, der verwendet wurde, wenn fork() ed war. So ist der „Name“ Sie sehen, wenn Sie ps
verwenden ist eigentlich argv [0] und als Adam wies darauf hin, Sie Hunderte von Prozessen mit dem gleichen Befehl kann ...
Es ist möglich, einen Namen zu geben zum Thread mit pthread_setname(). In D set/get wird der Thread-Name mit der Thread.name property erledigt. Problem ist, dass Entwickler in den meisten Fällen nicht den Namen des Threads festlegen ...
Sie können eine Liste der laufenden Prozesse greifen, indem Sie etwas wie readproc (http://procps.cvs.sourceforge.net/viewvc/procps/procps/proc/readproc.c?view=markup) implementieren und dann für den Prozess, den Sie benötigen PID von, aber das ist funktioniert nicht garantiert.
Sie tun es auf die gleiche Weise wie in C. Und es gibt möglicherweise viele PIDs mit dem gleichen Namen (sogar was der Benutzer als ein einzelnes Programm sieht, kann mehrere PIDs haben). Was hast du vor damit zu tun? –