Я пытался запустить netcat с помощью ssh, и кажется, что мой код всегда терпит неудачу в моем коде C. Вот команды, которые я выполняю с помощью system() в этом порядке.
system("ssh machine 'nc -l 61001|dd bs=64M of=temp' &")
system("/bin/dd if=filename bs=64M|nc IP_address 61001")
Я заметил, что первая команда работает правильно, так как временный файл создается на удаленной машине. Вторая команда dd дает сбой и указывает, что на удаленную машину записано 0 байт. Эти команды работают правильно при выполнении из терминала, но терпят неудачу, как только я помещаю их в вызовы system() в C.
filename
. Код написан так, что предполагается, чтоfilename
находится в текущем каталоге. - person Mr. Llama   schedule 27.07.2015&
(запуск в фоновом режиме) не работает дляsystem
. Оболочка завершается между каждым вызовом и всеми его подпроцессами. - person StenSoft   schedule 27.07.2015nohup
? - person Mr. Llama   schedule 27.07.2015dd
будет выполнено. - person StenSoft   schedule 27.07.2015