Sindbad~EG File Manager
#!/usr/bin/stap
/*
* watchdog.stp
* usage: stap watchdog.stp start_event stop_event time_ms
*/
global active, count
function trigger(p:long) {
/* may want to change the action here */
event=sprintf("/usr/bin/pstack %d", p);
system(event);
}
probe $1 { active[pid()]=1 }
probe $2 { delete active[pid()]; delete count[pid()]}
probe timer.ms($3) {
foreach (p in active) {
count[p]++
if (count[p] == 2)
trigger(p)
}
}
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists