Есть ли способ поместить задний план на задний план с помощью привязки клавиш?
Чтобы поставить на передний план работу, в фоновом режиме я нажимаю cltr+Z, а затем bg [job-number], Есть ли способ сделать это за один шаг вместо двух, с помощью некоторой команды cltr+[key]?
И я не имею в виду &, Я хочу поместить процесс, который я уже запустил, и взаимодействую с ним в фоновом режиме.
1 ответ
Вы можете пропустить номер идентификатора задания: если вы пропустите его, он заберет последнее приостановленное задание из текущей среды. Так что 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 на все задания, запущенные или остановленные; см. документацию по встроенной функции disown, если вы хотите отключить это поведение по умолчанию для определенного процесса. Используйте опцию huponexit для уничтожения всех заданий при получении сигнала SIGHUP, используя встроенный магазин.