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