Проблема здесь в ваших hbs. Форма пропускает атрибут: enctype="multipart/form-data"
PS: req.body
должен содержать дополнительные данные (например, текстовые поля), для вывода вашего файла необходимо проверить req.file
.
Это все в документе: https://github.com/expressjs/multer#readme
^ Z
не работает, потому что теперь главной задачей является оболочка, а оболочки обычно не отвечают на SIGTSTP
. (Если вы действительно хотите приостановить не входящую в систему оболочку, обычно работает suspend
.)
Проблема заключается в том, что вы неправильно понимаете последствия задания, находящегося в фоновом режиме. Перенаправление стандартного вывода задания не связано.
На самом деле, неясно , что вы хотите сделать. Если вы просто хотите остановить , найдите
, а затем fg
его и используйте ^ C
или ^ \
(который по умолчанию отправляет SIGINT
и SIGQUIT
соответственно).
Если вы хотите, чтобы найти
работающим, но подавить его дальнейший вывод, тогда самое простое решение, которое я могу придумать, это использовать bg; отречься; Выход
. Это остановит оболочку от уничтожения дочернего процесса ( find
) и выйдет из оболочки; предполагая, что он находится на верхнем уровне окна терминала, вы увидите немного больше вывода, и обнаружит, что
продолжит работу (но у вас не будет способа с ним взаимодействовать).
Я использую disown.
find / & disown
exit # close the terminal and the command still runs
Вы также можете использовать disown после ^ Z:
find /
^Z
bg
disown
exit
disown - встроенная функция bash, я полагаю. Не уверен насчет альтернатив для других оболочек.
Для получения дополнительной информации см. мой эквивалентный ответ о сбое сервера .
Вы можете установить для операции другой ключ с помощью stty на любом UNIX- как система.
$ stty susp Q
сделает Q вашим ключом приостановки вместо CTRL-Z.
Фоновая обработка процесса не приведет к отключению выхода от оконечного устройства, поэтому вы все еще видите вывод, и выход может содержать контрольные символы, которые могут заполнить ваши настройки TTY ( cat
- это хороший способ сделать бинарные файлы).
Если вы хотите, чтобы работа выполнялась в фоновом режиме, сделайте это правильно:
find / >/tmp/out 2>&1 &
, затем изучите / tmp / out
файл, когда он закончен.
Я обычно так делаю с nohup. Например:
nohup find /> /tmp/myresults.txt &
nohup гарантирует, что процесс не остановится, даже если консоль исчезнет (например, вы закрываете окно или теряете SSH или что-то еще) ). «>» Отправляет вывод в файл, а не в консоль, а «&» переводит задание в фоновый режим.
Я предполагаю, что вы используя общий вариант Linux или UNIX и, возможно, оболочку bash. В этом случае:
CTRL-Z отправляет сигнал SIGTSTP
на передний план процесса. Вы должны иметь возможность сделать то же самое с командой kill, указав kill -s SIGTSTP [pid]
.
Я знаю, что в Ubuntu 9.04 вы можете запустить процесс с & после него, чтобы запустить его в фоновом режиме. Например, «sudo gedit /boot/grub/menu.lst &» запустит текстовый редактор, редактирующий файл конфигурации GRUB в фоновом режиме.