2017-07-11 2 views
0

In jedem Buch, das ich gelesen habe, gibt sie nie wie folgt aus:Jedesmal, wenn ich ps laufen, ist es die übliche PID und CMD zurückgibt, aber

PID CMD 
2748 -bash 
8114 awk 
7900 -bash 

das, was mein ist ps zurückkehrt. Ist das normal für die - vor der bash? Ich habe nur 2290 bash gesehen, niemals ohne - davor. Triviale Frage, aber ich nehme an, dass es nicht normal ist. Danke und Entschuldigung für die blöde Frage.

+0

Ich erinnere mich zu lesen, dass es Login-Shell bedeutet, nicht sicher – Sundeep

+0

Vielen Dank für die Antwort. –

Antwort

1

Dies bedeutet eine Login-Shell. Werfen Sie einen Blick auf man bash:

A login shell is one whose first character of argument zero is a -, or one started with the --login option. 

Wenn Sie cat /proc/2748/cmdline laufen Sie den Bindestrich dort sehen. Dies ist, woher ps es bekommt. -f wird /proc/[pid]/cmdline betrachten, während standardmäßig /proc/[pid]/comm aussehen wird.

[email protected]:~$ ps 
    PID TTY   TIME CMD 
9230 pts/2 00:00:00 bash 
9429 pts/2 00:00:00 ps 

[email protected]:~$ ps -f 
UID  PID PPID C STIME TTY   TIME CMD 
tom  9230 9229 0 17:39 pts/2 00:00:00 -bash 
tom  9427 9230 0 18:22 pts/2 00:00:00 ps -f 

[email protected]:~$ cat /proc/9230/comm 
bash 

[email protected]:~$ cat /proc/9230/cmdline 
-bash 
Verwandte Themen