Hoe maak je een lijst met programma's te krijgen lopen met nohup

stemmen
43

Ik ben toegang tot een server met CentOS (Linux-distributie) met een SSH-verbinding. Omdat ik kan niet altijd ingelogd blijven, gebruik ik nohup [command] & mijn programma's te draaien.

Ik kon het niet vinden hoe je een lijst van alle programma's die ik begonnen met behulp van nohup krijgen. Banen werkt alleen voordat ik me afmeld. Na dat, als ik weer terug in te loggen, het commando banen laat me niets, maar ik kan zien in mijn log-bestanden die mijn programma's nog draaien.

Is er een manier om een ​​lijst van alle programma's die ik begon met behulp van nohup te krijgen?

De vraag is gesteld op 29/05/2013 om 07:37
user
In andere talen...                            


5 antwoorden

stemmen
17

In plaats van nohup, moet u gebruik maken screen. Het bereikt hetzelfde resultaat - uw commando's actief zijn "los". Echter, kunt u het scherm sessies hervatten en weer terug naar hun "verborgen" terminal en zie de recente vooruitgang in die terminal.

screenheeft veel opties. Meestal gebruik ik de volgende:

Om eerste scherm sessie te starten of om meer dan van de meest recente vrijstaande één te nemen:

screen -Rd 

Los te maken van de huidige sessie: Ctrl+ACtrl+D

U kunt ook beginnen met meerdere schermen - lees de docs.

antwoordde op 29/05/2013 om 07:48
bron van user

stemmen
4

Je kunt niet echt krijgen een lijst van commando's zijn begonnen met nohup, maar je kunt ze zien samen met uw andere processen met de opdracht ps x. Commando's zijn begonnen met nohupeen vraagteken in de kolom TTY hebben.

antwoordde op 29/05/2013 om 07:50
bron van user

stemmen
6

Als u standart uitgang redirect naar "nohup.out" gewoon zien wie dit bestand

lsof | grep nohup.out
antwoordde op 29/05/2013 om 08:21
bron van user

stemmen
58

Toen ik begon met $ nohup storm dev-zookeper,

Methode 1: met behulp van jobs,

[email protected]:/home/vmfest# jobs -l
[1]+ 11129 Running                 nohup ~/bin/storm/bin/storm dev-zookeeper &

Methode 2: met behulp van pscommando.

$ ps xw
PID  TTY      STAT   TIME COMMAND
1031 tty1     Ss+    0:00 /sbin/getty -8 38400 tty1
10582 ?        S      0:01 [kworker/0:0]
10826 ?        Sl     0:18 java -server -Dstorm.options= -Dstorm.home=/root/bin/storm -Djava.library.path=/usr/local/lib:/opt/local/lib:/usr/lib -Dsto
10853 ?        Ss     0:00 sshd: vmfest [priv] 

TTY kolom met ?=> nohupactieve programma's.

Omschrijving

  • TTY kolom = de terminal behorende bij de werkwijze
  • STAT kolom = toestand van een werkwijze
    • S = onderbreekbare slaap (wachten op een gebeurtenis te voltooien)
    • l = is multithreaded (via CLONE_THREAD zoals NPTL pthreads do)

Referentie

$ man ps # Dan zoeken /PROCESS STATE CODES

antwoordde op 25/06/2014 om 17:08
bron van user

stemmen
1

U kunt ook gewoon gebruik maken van de top commando en uw gebruikers-ID zal de taken die worden uitgevoerd en hun tijd te geven.

$ top

(Dit zal toon alle actieve opdrachten)

$ top -U [user ID]

(Dit zal banen die specifiek zijn voor de gebruikers-ID zijn te laten zien)

antwoordde op 24/09/2014 om 06:30
bron van user

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more