Kill se zpozdenim ?

Roman Kolbábek rkolbabek na volny.cz
Čtvrtek Červen 1 10:15:48 CEST 2000


Preji pekny den.

Narazil jsem na konkretni problem, se kterym si nevim rady.

Pomoci skriptu vytvarim /tmp/mailtempfile soubor, ktery chci prikazem mnc
odeslat na SMTP server. (Posilam si mailem LOG soubor)
Tento /tmp/mailtempfile by teoreticky mel koncit teckou a prikazem QUIT. Ja
mam vsak vyzkousene, ze kdyz za teckou neni rovnou EOF, tak se dopis vubec
neposle, ale zase kdyz skonci jenom teckou, tak se neukonci ten prenos
pomoci mnc (chybi zadat QUIT)

Napadlo mne jedine. Ukoncit ten proces prikazem kill, spustenym v podprocesu
ale se zpozdenim (aby se stihla posta odeslat) a nevim jak to zpozdeni
naprogramovat.

Uvedu konec skriptu, to bude asi nazornejsi:
(\r\n\c tam mam, aby to delalo CR/LF a ne jen LF):

# Reset SMTP spojeni
echo -e "rset\r\n\c" > /tmp/mailtempfile
# Hlavicka SMTP
echo -e "mail from: firewall na smb.cz\r\n\c" >> /tmp/mailtempfile
.....
.....
# prilozi se soubor jako text (zacina datumovou znackou)
cat /var/log/kern.log >> /tmp/mailtempfile
# dopis se ukonci
echo -e "\r\n\c" >> /tmp/mailtempfile
echo -e ".\r\n\c" >> /tmp/mailtempfile
##########
# tady by melo nasledovat: echo -e "quit\r\n\c" >> /tmp/mailtempfile
##########
# takze delam nucene preruseni SMTP
##########
proces=$$
(zpozdeni radove sekundy ???? ; kill -15 $proces) &
mnc 192.168.0.2 25 < /tmp/mailtempfile

Mozna je to uplny blud, ale na Celeronu mi to jelo i bez toho zpozdeni. Na
386-ce to ale nefunguje. Poradi mi nekdo co s tim? Prosim o trpelivost, jsem
zacatecnik.

Dekuji predem za kazdou konstruktivni pripominku

--
Kolbis




Další informace o konferenci Linux