I was running apt upgrade, when I needed the terminal, so did a ctrlz. When I tried to restart it (fg), it would not restart, because it was no-longer in the jobs list (jobs). (I Did not, run disown). I then did a ps to get process id. It showed the process to be stopped (as expected), so I then did sudo kill -s SIGCONT pid, to re-start it, but nothing happened. ps showed that process was still stopped. There was no error message.
What I did.
sudo apt upgrade
«wait a bit»
«ctrl-z»
«some other command» #can't remember, but nothing special.
fg #This command failed, no such job
jobs #No output
What I tried to fix it.
- send sigcont to
apt send sigcont to
sudoWhat happened for the shell to disown the process?
- (more importantly) How do I re-start it?
Output from ps -l -p $(pgrep apt)
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 T 0 22884 22883 0 80 0 - 21617 - pts/1 00:00:01 apt
Output from pstree -s -p $(pgrep apt)
systemd(1)───kdeinit5(1038)───ksmserver(1062)───yakuake(1153)───bash(1225)───sudo(22883)───apt(22884)
Output from pgrep bash | xargs -n1 ps -l -p
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 S 1000 1225 1153 0 80 0 - 8770 core_s pts/1 00:00:00 bash
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 S 1000 3852 3849 0 80 0 - 8404 - pts/7 00:00:00 bash
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 S 1000 4449 4445 0 80 0 - 8392 core_s pts/3 00:00:01 bash
⋮
Ideas: has it lost contact with stdout/stdin?, does it need it?
System Debian, bash
#↳ bash --version
GNU bash, version 4.3.30(1)-release (x86_64-pc-linux-gnu)
#↳ uname -a
Linux delorenzi 3.16.0-5-amd64 #1 SMP Debian 3.16.51-3+deb8u1 (2018-01-08) x86_64 GNU/Linux
#↳ sudo --version
Sudo version 1.8.10p3
Sudoers policy plugin version 1.8.10p3
Sudoers file grammar version 43
Sudoers I/O plugin version 1.8.10p3
fgcommand in that shell session? – Kusalananda Apr 03 '18 at 13:47ps -l -p $(pgrep apt-get)? – Mark Plotnick Apr 03 '18 at 15:39apt-getprocess and which shell is the one runningfg. – JdeBP Apr 03 '18 at 17:40ps -l -p $(pgrep apt)to question. – ctrl-alt-delor Apr 04 '18 at 12:20pstree -s $(pgrep apt)to the question. – ctrl-alt-delor Apr 04 '18 at 12:23sudo? If you don't have a job, then you can't continue the task. Sending a SIGCONT won't work since the program will just go back to trying to read from the terminal, and since it is not in the foreground process group, it gets stopped again. – psusi Apr 04 '18 at 12:54jobsreturns nothing (don't know why it was disowned). Can I attach it to another tty, or other stdin/stdout? – ctrl-alt-delor Apr 04 '18 at 12:57echo $$to each shell to see its pid), then typejobsto it? – Mark Plotnick Apr 04 '18 at 14:21«ctrl-c»in your first snippet a typo? Assuming it is, however if it isn't, there was no background job to begin with and this is some otheraptprocess. – yahol Apr 06 '18 at 12:09psand see that the process is now stopped. It just does not appear in thejobs list. – ctrl-alt-delor Apr 06 '18 at 15:43sudoversion. – Yurij Goncharuk Apr 09 '18 at 23:34