1

Иногда я использую gvim -f для запуска gvim, но заставляю оболочку ждать окончания сеанса gvim, прежде чем возобновить выполнение того, что он делает (например, я обычно редактирую псевдонимы bash с использованием псевдонима, вызывающего gvim -f затем перезагружаю мой . файл .bashrc после того, как я вышел из gvim).

Однако иногда я понимаю, что хотел бы продолжить редактирование файла, но я также хочу возобновить работу в оболочке. Например, в приведенном выше примере, иногда я хотел бы проверить, будет ли только что написанный мной псевдоним на самом деле делать то, что я хочу, и если нет, я бы хотел исправить его, чтобы он вел себя правильно. (Да, я понимаю, что есть несколько других способов сделать это; это только пример.)

Можно ли вернуть управление оболочке из команды gvim -f БЕЗ закрытия сеанса gvim?

(Например, есть ли способ заставить gvim посылать какой-то ложный сигнал "Я закончил" обратно в оболочку, но сохранить контроль? Или есть способ превратить текущий процесс в фоновый процесс, не убивая его?)

(Я добавляю тег bash потому что это оболочка, которую я сейчас использую, но в идеале я бы хотел решение, не зависящее от оболочки.)

РЕДАКТИРОВАТЬ: оригинальный пост упоминал "отречение от дочернего процесса", что, как я теперь понимаю, на самом деле не то, что я пытаюсь сделать

1 ответ1

1

Я не знаю, как это сделать из gvim, но обычные операции управления заданиями оболочки могут это сделать.

Используйте ctrl-z, чтобы приостановить основной процесс gvim, а затем используйте bg чтобы возобновить процесс в фоновом режиме и позволить оболочке продолжить нормальную работу. (По сути, это все, что делает gvim без -f хотя и немного по-другому.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .