Существует ли способ поместить задание переднего плана в фоновом режиме с привязкой клавиш?

Для помещения задания переднего плана, в фоновом режиме, я нажимаю cltr+Z и затем bg [job-number]. Существует ли способ сделать это за один шаг вместо два с некоторым cltr + [ключевая] команда?

И я не имею в виду &. Я хочу поместить процесс, который я уже запустил и взаимодействую с в фон.

4
задан 27 August 2011 в 21:43

1 ответ

Можно пропустить число идентификатора задания: если Вы ommit это это устроится на последнюю приостановленную работу от текущей среды. Так cltr+Z и bg короче.

Если Вы добавляете это к Вашему .profile или .bashrc

bind '"\ek"':"\"bg\C-m\""

alt+w должен поместить bg на Вашем экране и выполняют его так, это заканчивается в фон.

Пример:

rinzwind@discworld:~$ smplayer 
This is SMPlayer v. 0.6.9 (SVN r3447) running on Linux
^Z
[1]+  Stopped                 smplayer
rinzwind@discworld:~$ bind '"\ek"':"\"bg\C-m\""
[1]+ smplayer &

Я не смог добавить cltr+Z в команду все же. Вероятно, из-за проигнорированного сигнала:

Ctrl+Z приостановить сигнал, отправляет SIGTSTP в под управлением программу, таким образом останавливая его и возвращая управление оболочке.

12.1.1.2. Сигналы к Вашей оболочке Bash

В отсутствие любых прерываний интерактивная оболочка Bash игнорирует SIGTERM и SIGQUIT. SIGINT пойман и обработан, и если управление заданиями активно, SIGTTIN, SIGTTOU и SIGTSTP также проигнорированы. Команды, которые выполняются как результат замены команды также, игнорируют эти сигналы, когда клавиатура генерировала.

SIGHUP значением по умолчанию выходит из оболочки. Интерактивная оболочка отправит SIGHUP во все задания, работая или остановилась; см. документацию относительно отрицания встроенного, если Вы хотите отключить это поведение по умолчанию для конкретного процесса. Используйте huponexit опцию для уничтожения всех заданий после получения сигнала SIGHUP, с помощью shopt встроенного.

2
ответ дан 1 December 2019 в 10:28

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

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