If you ^Z from a process, it gets "stopped". How do you switch back in?
Solution 1
The easiest way is to run fg
to bring it to the foreground:
$ help fg
fg: fg [job_spec]
Move job to the foreground.
Place the job identified by JOB_SPEC in the foreground, making it the
current job. If JOB_SPEC is not present, the shell's notion of the
current job is used.
Exit Status:
Status of command placed in foreground, or failure if an error occurs.
Alternatively, you can run bg
to have it continue in the background:
$ help bg
bg: bg [job_spec ...]
Move jobs to the background.
Place the jobs identified by each JOB_SPEC in the background, as if they
had been started with `&'. If JOB_SPEC is not present, the shell's notion
of the current job is used.
Exit Status:
Returns success unless job control is not enabled or an error occurs.
If you have just hit Ctrl Z, then to bring the job back just run fg
with no arguments.
Solution 2
You can use jobs
to list the suspended process. Take the example. Start with a process:
$ sleep 3000
Then you suspend the process:
^Z
[1]+ Stopped sleep 3000
You can list the process:
$ jobs
[1]+ Stopped sleep 3000
and bring it back to the foreground:
$ fg %1
sleep 3000
The %1
corresponds to the [1]
listed with the jobs
command.
Solution 3
You should be able to re-start a suspended process by using the kill
command to send the process the CONTINUE signal, from the command-line, thus:
kill -CONT 92929
Related videos on Youtube
bobobobo
Updated on September 18, 2022Comments
-
bobobobo over 1 year
I accidentally "stopped" my
telnet
process. Now I can neither "switch back" into it, nor can I kill it (it won't respond tokill 92929
, where 92929 is the processid.)So, my question is, if you have a stopped process on linux command line, how do you switch back into it, or kill it, without having to resort to
kill -9
? -
bobobobo over 10 yearsThanks!! I suppose this is the eq of Alt+Tab. Do you know what happened as soon as I did
fg telnet
though. It saidTerminated
, presumably b/c of my previouskill
cmd. -
terdon over 10 years@bobobobo presumably, yes. Anyway, the
fg
does not need any arguments. If you have just hit^Z
, runfg
in the same terminal and it will bring back the 1st job. -
bahamat over 10 yearsThis will cause it to resume operation, but not to be brought to the foreground.
-
Geeb over 10 years@bahamat Yes, quite true. One would still need to
fg
inside the original terminal. I like to -STOP and -CONT gui programs to save resources, but they are effectively running in the background anyway. -
Timo about 6 yearsIn case of
sleep
it willkill
the process which is not what you want..;) -
SR_ almost 3 yearsMaybe not the correct answer, but a very useful one ! I have a script that opens several terminals in order to execute several commands concurrently. When I press ctrl-z on a terminal where a shell was launched to execute a command given as a parameter, it will stop the command.
jobs
then shows an empty list. I don't understand why the list is empty, but thiskill -CONT
is the only solution I know in this case to resume the stopped process.