Prozesse beenden

FreeBSD, Gentoo, openSUSE, CentOS, Ubuntu, Debian
Post Reply
p2p
Posts: 95
Joined: 2003-04-07 06:57
 

Prozesse beenden

Post by p2p »

Hallo
lassen sich irgendwie alle Prozesse beenden, deren Script bla.sh heißt oder die länger als 1 Stunde laufen?

Gruß p2p
mutombo
Posts: 184
Joined: 2003-06-19 06:10
 

Re: Prozesse beenden

Post by mutombo »

prozesse nach namen killen gibts mehrere möglichkeiten.
entweder mit killall name, oder du holst dir per pidof name die pid der prozesse und killst die, oder halt umständlich per ps aux | grep name.

für die zeit wüßt ich jetzt spontan nix einfaches.
p2p
Posts: 95
Joined: 2003-04-07 06:57
 

Re: Prozesse beenden

Post by p2p »

gut, danke.
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

Re: Prozesse beenden

Post by captaincrunch »

Nur als kleine Idee dazu : Du könntest dir die Zeit beim sp aux durch awk raufiltern, und die zugehörige PID dann anhand einer if-Schleife killen.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
memphis
Posts: 29
Joined: 2003-03-15 14:03
 

Re: Prozesse beenden

Post by memphis »

Weil jeder weiß, wie das geht
Du könntest dir die Zeit beim sp aux durch awk raufiltern, und die zugehörige PID dann anhand einer if-Schleife killen.
rootmaster
Posts: 483
Joined: 2002-04-28 13:30
Location: Hannover
 

Re: Prozesse beenden

Post by rootmaster »

ohne gewähr für irgendwas ;)

Code: Select all

#!/usr/bin/perl

    my $process=$ARGV[0];
    my $killtime=$ARGV[1];

if (! $ARGV[0]) {die "KEIN ARGUMENT"}

    my $PSstring=`ps -eo user,pid,stime,time,cmd|grep -v $0`;
    my @PSarray=split(/n/,$PSstring);

foreach(@PSarray) {

($s1,$s2,$s3,$s4,$s5)=split(/ +/,$_,5);

 if ($s5=~/$process/){

        my $pid=$s2;
        my $stime=$s3;
         ($sh,$sm)=split(":",$stime);
        my $start=$sh*60+$sm;
        my $ktime=`date +"%H:%M"`;
         ($kh,$km)=split(":",$ktime);
        my $stop=$kh*60+$km;

            if ($stime=~/[a-z]/i){  # gestartet tag vorher
                $start=0;
            }
            my $dtime=$stop-$start;
            if ($dtime>=$killtime){ # prozess zu alt
                `kill -9 $pid`;
            }
 }
}
aufruf:
/pfad/zu/killscript prog_name zeit_intervall_in_minuten

wird kein zeit-intervall angegeben, werden alle prozesse mit prog_name gekillt ;)

"back to the roots"
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

Re: Prozesse beenden

Post by captaincrunch »

Weil jeder weiß, wie das geht
1. Sind wir hier ja schließlich nicht im Newbie-Forum, und
2. hat ein bisschen selbst nachlesen / probieren noch niemandem geschadet ... ;)
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
Post Reply