Wyświetlanie procesu pierwszego planu za pomocą ps

9

Widzę proces w tle za pomocą ps. Ale czy istnieje sposób, aby zobaczyć proces pierwszego planu? Na przykład,

$ nohup process1 &

następnie

ps -ef | grep „proces1”

wyświetli proces „process1” w trakcie wykonywania. Ale powyższe polecenie nie wyświetlałoby procesu pierwszego planu wykonanego w następujący sposób:

$ proces2

Anthon
źródło
ps -efpokazuje mi wszystkie procesy pierwszego planu. Na jakim systemie operacyjnym pracujesz?
bahamat
2
Czy na pewno proces 2 nadal działa podczas wpisywania „ps”? Może to już zrobione.
Huang F. Lei
Zanim pojawi się monit, proces pierwszego planu jest zakończony.
vonbrand

Odpowiedzi:

6

Możesz być zdezorientowany, ponieważ psdomyślnie pokazuje procesy, które są na tym samym terminalu, na którym pssą wywoływane, np. Procesy rozpoczęte z tego samego okna terminala.

Spróbuj ps -u $LOGNAMElub jeśli znasz nazwy terminali ps -t $THETTYNAME1,$THETTYNAME2. (Nazwy terminali zwykle wyglądają jak „ttyN” lub „pts / N”).

Dummy00001
źródło
ps - efpokazuje wszystkie procesy, nie tylko te na „tym” terminalu.
bahamat
1

Dziwne, polecenie ps pozwala monitorować status wszystkich aktywnych procesów, zarówno pierwszego planu, jak i tła.

Na przykład uruchamiam następujący proces w pierwszej powłoce:

$ startNetworkServer 
Security manager installed using the Basic server security policy.
Apache Derby Network Server - 10.3.2.1 - (599110) started and ready to accept connections on port 1527 at 2010-06-18 14:14:33.277 GMT 

I w innej powłoce:

$ ps aux  | grep NetworkServer | grep -v grep
pascal    5928  0.3  1.4 661492 29216 pts/0    Sl+  16:14   0:03 /usr/lib/jvm/java-6-sun/bin/java -classpath /usr/share/javadb/lib/derby.jar:/usr/share/javadb/lib/derbynet.jar:/usr/share/javadb/lib/derbytools.jar:/usr/share/javadb/lib/derbyclient.jar org.apache.derby.drda.NetworkServerControl start

Proces jest wymieniony zgodnie z oczekiwaniami (i +pokazuje, że znajduje się w grupie procesów na pierwszym planie).


źródło