jacob_klim έγραψε:
Η process που θέλω να βρίσκω είναι της μορφής ./radar_receive.exe -s 0 -r (int) και κάποια άλλα arguments.
Υπό κανονικές συνθήκες θα υπάρχουν όμοιες processes με μόνη διαφορά το -r το οποίο είναι integer.
Εγώ θέλω να κάνω kill με βάση το -r argument.
Δεν μπορώ να παραθέσω κώδικα γιατί δεν μπορώ να βγω στο internet από το δίκτυο που είμαι στη δουλειά.
Κάποια βοήθεια;;;
Συγγνώμη για την καθυστέρηση. Απ' ότι κατάλαβα, θέλεις να βρεις τον διακόπτη «-r» και τον αριθμό δίπλα του πχ 12 και βάσει αυτού να κάνεις πιο συγκεκριμένη την αναζήτηση και να κάνεις kill τη διεργασία.
Οπότε το μόνο που έχεις να κάνεις είναι ν' αλλάξεις τη μεταβλητή
proc, του κώδικα στην προηγούμενη απάντησή μου σε:
proc = './radar.*-r\s*xx'
όπου xx ο αριθμός που θέλεις.
Και μια μικρή επεξήγηση:
Η μεταβλητή proc πρακτικά είναι μια regular expression.
./radar είναι κυριολεκτικό αλφαριθμητικό.
.*: Η τελεία ανάγεται σε οποιοδήποτε χαρακτήρα και το αστεράκι σε μηδέν ή παραπάνω επαναλήψεις του προηγούμενου χαρακτήρα.
-r είναι κυριολεκτικό αλφαριθμητικό.
\s*: Το \s δηλώνει κενό διάστημα και το αστεράκι (όπως παραπάνω) μηδέν ή παραπάνω επαναλήψεις του κενού διαστήματος. Δηλαδή βρίσκει -r 4 ή -r4 ή -r 4