Как возобновить работу терминала после выпуска & ldquo; suspend & rdquo; команда?

Попробуйте это

 menuentry "Ubuntu 14.04 Live" {
 loopback loop (hd0,10)/lilw/os/ubuntu.iso
 linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/lilw/os/ubuntu.iso noprompt noeject
 initrd (loop)/casper/initrd.lz
 }
7
задан 12 September 2017 в 20:20

3 ответа

Из вашей ссылки:

, пока не получит сигнал SIGCONT.

Итак, это будет kill -SIGCONT {pid}

killall -CONT bash. kill -18 {pid} будет одинаковым. и поэтому kill -s CONT {pid}

Согласно этому списку, он должен быть control-z, но вам нужно использовать control-z, чтобы остановить процесс:

18 - SIGCONT - Resume process, ctrl-Z (2nd)
19 - SIGSTOP - Pause the process / free command line, ctrl-Z (1st)

Вам нужен {pid} сеанса оболочки, запущенный в терминале

И также есть list :

fg, bg

The fg command switches a job running in the background into the foreground. 
The bg command restarts a suspended job, and runs it in the background. 
If no job number is specified, then the fg or bg command acts 
upon the currently running job.
9
ответ дан 22 May 2018 в 18:32
  • 1
    Он также должен быть Ctrl + Q, но по какой-то причине это не работает. Я предполагаю, что, поскольку оболочка приостановлена, она не может получить Ctrl + Q (SIGCONT) из приостановленной сессии. Он работает, если, как вы говорите, вы используете kill -SIGCONT PID, но я не могу найти простой способ получить ПИД-код приостановленного сеанса, когда у меня много открытых терминалов. – terdon♦ 12 September 2017 в 16:25
  • 2
    Это не работает. Я использовал ps aux | grep, чтобы получить pid терминала, попробовал все 3 варианта SIGCONT, но никто не работал. Когда я только что убил pid, терминал закрылся, поэтому у меня был правильный pid. – Cerberus 12 September 2017 в 16:25
  • 3
    @Cerberus вы хотите, чтобы PID сеанса оболочки выполнялся в терминале, а не сам терминал. Если у вас есть только один открытый терминал, его нужно легко найти с помощью pgrep bash. Если нет, используйте pstree -p, найдите там PID терминала и посмотрите на PID своих дочерних элементов, один из которых должен быть вашим сеансом bash. – terdon♦ 12 September 2017 в 16:26
  • 4
    Мне нужно будет иметь два терминальных сеанса, по крайней мере, в сценарии, один из которых приостановлен, а другой - для отправки SIGCONT. – Cerberus 12 September 2017 в 16:26
  • 5
    SIGCONT обычно игнорируется, так почему бы не просто пожар killall -CONT bash? :-) – Jonas Wielicki 12 September 2017 в 17:45

Из вашей ссылки:

, пока не получит сигнал SIGCONT.

Итак, это будет kill -SIGCONT {pid}

killall -CONT bash. kill -18 {pid} будет одинаковым. и поэтому kill -s CONT {pid}

Согласно этому списку, он должен быть control-z, но вам нужно использовать control-z, чтобы остановить процесс:

18 - SIGCONT - Resume process, ctrl-Z (2nd) 19 - SIGSTOP - Pause the process / free command line, ctrl-Z (1st)

Вам нужен {pid} сеанса оболочки, запущенный в терминале

И также есть list :

fg, bg The fg command switches a job running in the background into the foreground. The bg command restarts a suspended job, and runs it in the background. If no job number is specified, then the fg or bg command acts upon the currently running job.
9
ответ дан 18 July 2018 в 06:59

Из вашей ссылки:

, пока не получит сигнал SIGCONT.

Итак, это будет kill -SIGCONT {pid}

killall -CONT bash. kill -18 {pid} будет одинаковым. и поэтому kill -s CONT {pid}

Согласно этому списку, он должен быть control-z, но вам нужно использовать control-z, чтобы остановить процесс:

18 - SIGCONT - Resume process, ctrl-Z (2nd) 19 - SIGSTOP - Pause the process / free command line, ctrl-Z (1st)

Вам нужен {pid} сеанса оболочки, запущенный в терминале

И также есть list :

fg, bg The fg command switches a job running in the background into the foreground. The bg command restarts a suspended job, and runs it in the background. If no job number is specified, then the fg or bg command acts upon the currently running job.
9
ответ дан 24 July 2018 в 18:43

Другие вопросы по тегам:

Похожие вопросы: