LINUX.ORG.RU

[bash] Можно ли получить доступ к stdin и stdout процесса форкнутого амперсандом?

 


0

0

Например, нужно чтоб скрипт общался с ftp сервером учитывая ответы.

После запуска `ftp -n example.com &' pid потомка (процесса ftp) хранится в $!. Можно ли как-то зная pid писать в stdin и читать из stdout средствами bash?

Очень желательно обойтись без именованных пайпов.

Да.

/proc/$PID/fd/0 -- stdin
/proc/$PID/fd/1 -- stdout
/proc/$PID/fd/2 -- stderr


annoynimous ★★★★★
()
Ответ на: комментарий от linuxfan

linuxfan и annoynimous спасибо. Пример работает.

А вот с ftp не работает.

Запускаю

ftp -n 192.168.0.147 &
Шлю
echo -e "quote user neo\nquote pass 123\n" > /proc/6126/fd/0
В консоль вывод есть, а в логах фтп сервера не пишется что кто-то пытался залогиниться.

LinuxUser ★★★
() автор топика
Ответ на: комментарий от LinuxUser

Ну так это вывод на консоль. Сам-то ftp не видит получает этих данных. Ты что сделать-то хочешь?

true_admin ★★★★★
()
Ответ на: комментарий от LinuxUser

может тебе проще сделать так?

(echo -e "quote user neo\nquote pass 123\nget bla-bla") | ftp -n 192.168.0.147

или, если нет, опиши use case'ы.

isden ★★★★★
()

Лучше для таких целей создавать FIFO, будет более кроссплатформенно.

provaton ★★★★★
()
Ответ на: комментарий от true_admin

> use mechanize или что-то в этом духе

Ой. Что-то я на него посмотрел и подумал, что бОльший изврат -- это именно mechanize (если это тот, который на ruby). expect как-то прозрачнее. И вообще, старый друг борозды не портит! 8))

kemm
()
Ответ на: комментарий от kemm

да, вспомнил вские недосвитчи и понял что на счёт ненужности погорячился.

Не, не на руби. На лоре пару месяцев назад эту штуку хвалили. На питоне оно.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

> Не, не на руби. На лоре пару месяцев назад эту штуку хвалили. На питоне оно.

В общем, этих механайзов... И на руби, и на питоне, и на перле, да ещё, кажется, не по одному варианту. Ну их к лешему, expect хоть один. 8))

kemm
()
Ответ на: комментарий от kemm

нет, конечно. я вот ексепк тоже в основном из питона юзаю, пекспект.

val-amart ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.