|
Тема
|
kak da pi6a v stdin na drug process
|
|
Автор | pike (Нерегистриран) |
Публикувано | 22.03.05 11:50 |
|
zdraveyte
opitvam se da pi6a v stdin na naprimer background proces... ili tak'v deto e pusnat ot drug user
siguren s'm, 4e e v'zmojno ama ne znam kak?
moga da namerya file descriptora na stdin na procesa v /proc ama kato pi6a v nego dannite prosto izlizat v consolata na procesa (v slu4aya testvah s foreground process) bez oba4e samiya process da gi vijda/obrabotva...
nyakakvi idei?
blagodarya predvaritelno
| |
Тема
|
Re: kak da pi6a v stdin na drug process
[re: pike]
|
|
Автор | Q (Нерегистриран) |
Публикувано | 22.03.05 17:28 |
|
variant 1 - prashtash signal s message (kill -l)
variant 2 - vijdash na koia konsola raboti i prashtash message kym neia
variant 3 - niama
| |
Тема
|
Re: kak da pi6a v stdin na drug process
[re: pike]
|
|
Автор | ilko_k_v (Нерегистриран) |
Публикувано | 25.03.05 17:06 |
|
Zareji toq stdin 4eti za pipe ili fifo
| |
Тема
|
Re: kak da pi6a v stdin na drug process
[re: pike]
|
|
Автор |
sdg (shebang addict) |
Публикувано | 26.03.05 17:52 |
|
man bash | less -p 'user interface to job control'
To facilitate the implementation of the user interface to job control,
the operating system maintains the notion of a current terminal process
group ID. Members of this process group (processes whose process group
ID is equal to the current terminal process group ID) receive keyboard-
generated signals such as SIGINT. These processes are said to be in
the foreground. Background processes are those whose process group ID
differs from the terminal's; such processes are immune to keyboard-gen-
erated signals. Only foreground processes are allowed to read from or
write to the terminal. Background processes which attempt to read from
(write to) the terminal are sent a SIGTTIN (SIGTTOU) signal by the ter-
minal driver, which, unless caught, suspends the process.
Use the manual, Luke
RTFM!
--sdg
| |
Тема
|
3 replies without an answer
[re: pike]
|
|
Автор | pike (Нерегистриран) |
Публикувано | 27.03.05 14:28 |
|
za Q:
variant 1 - s kill se pra6ta signal k'm process, a ne danni k'm negoviya stdin
variant 2 - kakto obyasnih v v'prosa si za tova se setih ama taka se pra6tat dannite k'm konzolata, a ne k'm stdin na procesa. osven tva pisah, 4e procesa moje da e background t.e. da nyama konzola
variant 3 - tryabva da ima. v'prosa e kak'v e
za ilko:
kvo zna4i da zareja stdin i da 4eta za pipe ili fifo? da ne bi da ima6 predvid ideyata da pusna procesa s prenaso4en stdin ot(k'm) predvaritelno s'zdaden pipe, v koyto posle 6te moga da pi6a? nadyavam se ne, za6toto kakto pisah procesa ve4e e startiran i v'rvi i ne moga (ne iskam, ne mi e pozvoleno) da go restartiram...
za sdg:
radvam se, 4e i ti kato men 4ete6 the manual ama bi li obyasnil kakvo to4no ima6 predvid s tozi citat? toy e v 2 4asti: p'rvata se otnasya za process group ID-to, a vtorata za tova, 4e samo foreground procesite mogat da 4etat i pi6at ot terminala. spored men nikoya ot dvete 4asti nyama vr'zka s moya v'pros. ako ti vijda6 vr'zka bi li ya obyasnil? tova, 4e background procesite ne mogat da 4etat i/ili pi6at ot terminala ne ozna4ava, 4e nyamat stdin, a 6tom imat stdin i 4etat ot nego zna4i bi tryabvalo da ima na4in az da pi6a v nego...
| |
Тема
|
Re: 3 replies without an answer
[re: pike]
|
|
Автор |
Linux.Lab (дърт и изкуфял) |
Публикувано | 28.03.05 23:33 |
|
Пиши на кирилица бе пич. Направо не знам как ти дочетох писанията.
Ако искаш да пишеш в друг процес има няколко варианта, но дали ответния процес ще чете това което му подадеш е отделен въпрос. За да се справиш с материята почети малко за IPC и ще намериш вярното за себе си решение.
Ето ти и няколко линка, като за начало
Дали ти вършат работа сам си прецени.
Успех
I feel like I should have a great idea right now. But I don't.
| |
Тема
|
ne pomaga
[re: Linux.Lab]
|
|
Автор | pike (Нерегистриран) |
Публикувано | 30.03.05 10:14 |
|
blagodarya, 4e mi 4ete6 pisaniyata v'preki, 4e ti e nepriyatno
blagodarya i za linkovete, v koito ima gore dolu edna i s'6ta informaciya, koyato se otnasya za slu4aya, v koyto az startiram procesa, k'm koyto iskam da pra6tam danni, koeto kakto kazah ve4e e dosta razli4no ot moya slu4ay.
tova, koeto vs'6tnost iskam da napravya e da pi6a v stdin na ve4e startiran proces. naprimer:
#ls -l /proc/21774/fd/0
lr-x------ 1 p p 64 2005-03-30 10:07 /proc/21774/fd/0 -> pipe:[60848]
t.e. kak da vzema vhoda na tozi pipe?
pak blagodarya
| |
Тема
|
проба-грешка
[re: pike]
|
|
Автор | фeн (Нерегистриран) |
Публикувано | 12.04.05 22:14 |
|
Написах една проста програмка, която чете от stdin и пише в някакъв файл, пуснах я в background mode:
$ ./test &
[9] 3819
в друг терминал пробвах
# echo Who let the dogs out > /proc/3819/fd/0
... и в предишния терминал ми се отпечата съобщението и програмата прекъсна (kill -9):
$ Who let the dogs out
[9]+ Stopped ./test
Погледнах файла, където test трябваше да е отпечатал текста -- празен беше.
Честно казано нищо не ми идва на ум! И аз очаквах да пиша успешно във входа на процеса. Трябва да има начин. А и това прекъсване на процеса ме озадачи.
| |
Тема
|
Re: проба-грешка
[re: фeн]
|
|
Автор |
sdg (shebang addict) |
Публикувано | 13.04.05 13:45 |
|
Хубаво е човек да е упорит, дори и когато си блъска главата в стената. Няма да стане, господа... Прочетете пак първите три отговора на въпроса.
Pike, не ме карай да обяснявам повече. Ако не можеш да събереш 2 + 2, няма смисъл да ти казвам, че е 4 -- все едно, 3 + 3 пак ще е неразрешима загадка
RTFM!
--sdg
| |
|
|
|
|