停止したプロセス(ctrl z)は再起動されず、ジョブリストに表示されなくなりました。

停止したプロセス(ctrl z)は再起動されず、ジョブリストに表示されなくなりました。

端末が必要なときに実行中でapt upgradectrlz起動しようとすると(fg)タスクリスト()にはもう存在しないため、再起動しませんjobs。 (私いいえ、disownを実行します)。その後、psプロセスIDのインポートを実行しました。 (予想どおり)プロセスが停止したように見え、再起動しましたが、sudo kill -s SIGCONT pid何も起こりませんでした。psプロセスがまだ停止していることを示します。エラーメッセージはありません。

私は何をしました。

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

私はそれを修正しようとしました。

  • 署名を送信apt
  • 署名を送信sudo

  • シェルが拒否するプロセスはどうなりますか?

  • (もっと重要なのは)どうやって再起動しますか?

出力は以下から来ます。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

出力は以下から来ます。pstree -s -p $(pgrep apt)

systemd(1)───kdeinit5(1038)───ksmserver(1062)───yakuake(1153)───bash(1225)───sudo(22883)───apt(22884)

出力は以下から来ます。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

考え方:stdout / stdinとの接続が失われましたか?それが必要ですか?


システム 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

答え1

一般的に疑われる犯人は正直な混乱です。確認する必要がある最も明白なのは、jobsPIDが予想PID(1225)と一致するシェルで実行されていることです。コメントで端末があると言っていましたが、「他のコマンド」が別のシェルを起動したようです。$$実行中のシェルの名前を確認しましたかjobs

関連情報