2011-04-08 09:38:29 +0000 2011-04-08 09:38:29 +0000
353
353

Hoe kan ik een stopzetting in Linux hervatten?

Hoe kan ik een stopzetting in Linux hervatten? Ik gebruikte emacs en raakte per ongeluk ctrl-z die me terug naar de console schoot. Ik kan het zien als ik ‘jobs’

[*****]$ jobs
[1]+ Stopped emacs test_queue.cpp
``` typ.

Antwoorden (5)

404
404
404
2011-04-08 09:39:38 +0000

Het commando fg is wat u wilt gebruiken. U kunt het ook een opdrachtnummer geven als er meer dan één stopgezette opdracht is.

268
268
268
2011-04-08 11:55:01 +0000

De algemene taakcontrolecommando’s in Linux zijn:

  • jobs - lijst van de huidige jobs
  • fg - hervat de volgende job in de wachtrij
  • fg %[nummer] - hervat job [nummer]
  • bg - duw de volgende job in de wachtrij naar de achtergrond
  • bg %[nummer] - Duw de job [nummer] naar de achtergrond
  • kill %[nummer] - Kill de job genummerd [nummer]
  • kill -[signaal] %[nummer] - Stuur het signaal [signaal] naar jobnummer [nummer]
  • disown %[nummer] - disown het proces (geen terminal meer zal eigenaar zijn), dus het commando zal zelfs na het sluiten van de terminal nog in leven zijn.

Dat zijn ze allemaal. Let op het % inbreuk op het functienummer in de commando’s - dit is wat kill vertelt dat je het over jobs hebt en niet over processen.

48
48
48
2013-08-26 21:04:40 +0000

U kunt ook %<process_name> typen; d.w.z. u drukt op Ctrl-Z in emacs, dan kunt u %emacs typen in de console en het terugbrengen naar de voorgrond.

34
34
34
2011-04-08 14:03:36 +0000

Om aan de andere antwoorden toe te voegen, bash laat u de fg overslaan als u een opdrachtnummer opgeeft.

Bijvoorbeeld, deze zijn gelijkwaardig en hervatten de laatste opdracht:

%
%%
fg
fg %

Deze hervatten opdracht #4:

%4
fg 4
23
23
23
2016-02-04 19:49:59 +0000

Als je het niet vanaf de huidige terminal hebt gelanceerd, gebruik dan ps aux | grep <process name> om het procesnummer (pid) te vinden, en ga dan verder met:

kill -SIGCONT <pid>

(Ondanks de naam is kill gewoon een hulpmiddel om een signaal naar het proces te sturen, waardoor processen met elkaar kunnen communiceren. Een “kill signaal” is slechts één van de vele standaard signalen)

Bonus tip: wikkel het eerste karakter van de procesnaam met [] om te voorkomen dat het grep commando zelf in de resultaten verschijnt. b.v. om emacs proces te vinden, gebruik ps aux | grep [e]macs