Я могу выполнить Сублимат, например, в фоновом режиме путем ввода
sublime-text &
&
помещает его в фон так, чтобы я мог продолжить к командам выполнения в моем терминале. С другой стороны, я могу работать
sublime-text
Который запирает мой терминал. Если я затем нажимаю Ctrl+Z, он "приостанавливает" приложение, которое по существу замораживает его (он в конечном счете станет серым). Ввод bg
перемещения это в фон и разблокировали терминал.
В любом случае, если я выхожу из терминала или типа fg
и затем Ctrl+C, приложение закроется.
Как я "разъединяю" приложение GUI от терминала так, чтобы это не закрывалось, я должен закрыть терминал или нажать Ctrl+C? Другими словами, я хотел бы использовать терминал в качестве средства запуска, которое особенно удобно, когда я хочу открыть определенный файл: например, sublime-text /path/to/my/file <super-secret-character-that-disconnects-the-app-not-just-puts-it-in-the-bg>
.
Можно использовать disown
команда для отсоединения фоновых процессов от терминала.
, Если у Вас есть только одно рабочее фоновое задание, можно просто использовать
disown
, и владелец этого фонового процесса больше не будет терминалом, таким образом, это будет продолжать бежать даже после того, как терминал закрывается.
Под ударом используйте отрицать команду для фиксации существующего процесса. Для получения списка фоновых процессов, присоединенных к текущей оболочке, используйте jobs
команда. Затем для отрицания желаемого процесса использовать disown % <job number>
. Ниже пример того, как отрицать xload.
jobs
[1]+ Stopped man man
[2]- Running xload &
[3]- Running xeyes &
disown %2
Для предотвращения проблемы от запуска используйте команду nohup. Таким образом, я добавил бы эту строку к Вашему .bashrc файлу:
alias sublime-text='nohup sublime-text'
Затем введите sublime-text < filename> &
.
nohup gedit &
. Теперь Вы можете, просто нажмите Enter для продолжения вводя команды и материал и если Вы закроете терминал, то gedit останется открытым.