Начать новый процесс без блокировки терминала

47

Можно ли это сделать? Например, если я запускаю « gedit tifatul.txt» через командную строку, мой терминал блокируется, и я не могу ввести другую команду в этом терминале, прежде чем выйти из gedit. Могу ли я запустить программу (например, gedit) без блокировки терминала? В Windows я думаю, что это можно сделать как " start notepad tifatul.txt"

TifatulS
источник
Что вы имеете в виду под заблокированными.
@PedroDiniz означает, что я не могу набрать в терминале другую команду, пока gedit работает. Если у вас есть окна, попробуйте разницу между запущенным notepad(заблокированным) и start notepad(не заблокированным)
TifatulS

Ответы:

68

Просто добавьте &в конце команды. Это заставляет новый процесс работать в фоновом режиме, и вы можете продолжать использовать свой терминал. Например:gedit new_file.txt &

Даниэль Юсте Арока
источник
Кстати, вы знаете какую-либо документацию относительно этого поведения? Это только для гедита?
TifatulS
1
Эта особенность фонового процесса обеспечивается оболочкой, поэтому она работает не только для gedit, но и для любой команды, которую вы запускаете в оболочке.
Даниэль Юсте Арока
да, спасибо за ответ. Я собирался принять, но система требует, чтобы я ждал еще пару минут
TifatulS
Принято и проголосовано :) Кстати, как называется эта функция?
TifatulS
Эта функция называется запуск процессов в фоновом режиме или запуск фоновых процессов.
Даниэль Юсте Арока
21

Я хотел бы рекомендовать вас nohup gedit filename &. Просто gedit filename &вы рискуете случайно закрыть терминал и потерять свою правку. Если вам не нравится nohup.outсоздаваться каждый раз, просто перенаправьте вывод:

nohup gedit filename > /dev/null &
замороженное пламя
источник