Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I accidentally "stopped" my telnet process. Now I can neither "switch back" into it, nor can I kill it (it won't respond to kill 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?

share|improve this question

3 Answers 3

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.

share|improve this answer
    
Thanks!! I suppose this is the eq of Alt+Tab. Do you know what happened as soon as I did fg telnet though. It said Terminated, presumably b/c of my previous kill cmd. –  bobobobo Jan 15 at 23:00
    
@bobobobo presumably, yes. Anyway, the fg does not need any arguments. If you have just hit ^Z, run fg in the same terminal and it will bring back the 1st job. –  terdon Jan 15 at 23:03

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.

share|improve this answer

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
share|improve this answer
    
This will cause it to resume operation, but not to be brought to the foreground. –  bahamat Jan 17 at 16:50
    
@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. –  Geeb Jan 17 at 17:10

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.