Utility to kill a program after n seconds

V13 v13 at priest.com
Sun Sep 1 21:55:02 EEST 2002


On Sunday 01 September 2002 16:42, Giorgos Keramidas wrote:
> On 2002-09-01 13:16 +0000, Nikos Kanellopoulos wrote:
> > Μετά από παρακίνηση του Κώστα του Μαϊστρέλη, έγραψα ένα προγραμματάκι
> > που τρέχει ένα πρόγραμμα και το σκοτώνει (πρώτα SIGTERM και αν δεν
> > πιάσει, SIGKILL) μετά από το χρόνο που καθορίζει ο χρήστης.
> >
> > π.χ.
> > $ timek 20 top -p 1 -p 5 -p 23
> > θα τρέξει το top για 20 δευτερόλεπτα.
>
> Μέσα στα οποία 20 δευτερόλεπτα υπάρχει πάντα η πιθανότητα να σκοτώσει
> κάποιος το αρχικό child process της timek, και λόγω PID recycling να
> το έχει πάρει κάποιος άλλος το συγκεκριμένο PID[1].
>
> Μια λύση θα ήταν να μπορείς να πάρεις από το /proc ή κάπως αλλιώς κι
> άλλες πληροφορίες για το process, όπως ώρα που ξεκίνησε να τρέχει,
> ποιος το ξεκίνησε, κλπ. και πριν χώσεις το kill[2] να ελέγξεις ότι
> ακόμα ισχύουν τα ίδια πράγματα.

H lysh stin prokeimeni periptosi einai na kaneis wait()/waitpid() gia to child 
process bazontas ena alarm kai exontas katallili problepsi gia anepithimita 
signals.

An to child psofisei tote epistrefei h wait. An oxi tote symbenei to alarm kai 
skotoneis to child. Yparxei panta periptosi gia race apo tin stigmi poy tha 
symbei to signal mexri na stileis to kill, alla einai ekseretika mikri kai 
praktika adynato.

<<V13>>



More information about the Linux-greek-users mailing list