Как я могу поместить процесс в фон после его выполнения с поврежденным CTRL+Z?

Проблема здесь в ваших hbs. Форма пропускает атрибут: enctype="multipart/form-data"

PS: req.body должен содержать дополнительные данные (например, текстовые поля), для вывода вашего файла необходимо проверить req.file.

Это все в документе: https://github.com/expressjs/multer#readme

10
задан Léo Léopold Hertz 준영 28 April 2009 в 06:40
поделиться

7 ответов

^ Z не работает, потому что теперь главной задачей является оболочка, а оболочки обычно не отвечают на SIGTSTP . (Если вы действительно хотите приостановить не входящую в систему оболочку, обычно работает suspend .)

Проблема заключается в том, что вы неправильно понимаете последствия задания, находящегося в фоновом режиме. Перенаправление стандартного вывода задания не связано.

На самом деле, неясно , что вы хотите сделать. Если вы просто хотите остановить , найдите , а затем fg его и используйте ^ C или ^ \ (который по умолчанию отправляет SIGINT и SIGQUIT соответственно).

Если вы хотите, чтобы найти работающим, но подавить его дальнейший вывод, тогда самое простое решение, которое я могу придумать, это использовать bg; отречься; Выход . Это остановит оболочку от уничтожения дочернего процесса ( find ) и выйдет из оболочки; предполагая, что он находится на верхнем уровне окна терминала, вы увидите немного больше вывода, и обнаружит, что продолжит работу (но у вас не будет способа с ним взаимодействовать).

12
ответ дан 3 December 2019 в 15:06
поделиться

Я использую disown.

find / & disown
exit # close the terminal and the command still runs

Вы также можете использовать disown после ^ Z:

find /
^Z
bg
disown
exit

disown - встроенная функция bash, я полагаю. Не уверен насчет альтернатив для других оболочек.

Для получения дополнительной информации см. мой эквивалентный ответ о сбое сервера .

6
ответ дан 3 December 2019 в 15:06
поделиться

Вы можете установить для операции другой ключ с помощью stty на любом UNIX- как система.

$ stty susp Q

сделает Q вашим ключом приостановки вместо CTRL-Z.

5
ответ дан 3 December 2019 в 15:06
поделиться

Фоновая обработка процесса не приведет к отключению выхода от оконечного устройства, поэтому вы все еще видите вывод, и выход может содержать контрольные символы, которые могут заполнить ваши настройки TTY ( cat - это хороший способ сделать бинарные файлы).

Если вы хотите, чтобы работа выполнялась в фоновом режиме, сделайте это правильно:

find / >/tmp/out 2>&1 &

, затем изучите / tmp / out файл, когда он закончен.

5
ответ дан 3 December 2019 в 15:06
поделиться

Я обычно так делаю с nohup. Например:

nohup find /> /tmp/myresults.txt &

nohup гарантирует, что процесс не остановится, даже если консоль исчезнет (например, вы закрываете окно или теряете SSH или что-то еще) ). «>» Отправляет вывод в файл, а не в консоль, а «&» переводит задание в фоновый режим.

2
ответ дан 3 December 2019 в 15:06
поделиться

Я предполагаю, что вы используя общий вариант Linux или UNIX и, возможно, оболочку bash. В этом случае:

CTRL-Z отправляет сигнал SIGTSTP на передний план процесса. Вы должны иметь возможность сделать то же самое с командой kill, указав kill -s SIGTSTP [pid] .

0
ответ дан 3 December 2019 в 15:06
поделиться

Я знаю, что в Ubuntu 9.04 вы можете запустить процесс с & после него, чтобы запустить его в фоновом режиме. Например, «sudo gedit /boot/grub/menu.lst &» запустит текстовый редактор, редактирующий файл конфигурации GRUB в фоновом режиме.

0
ответ дан 3 December 2019 в 15:06
поделиться
Другие вопросы по тегам:

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