diff options
author | jack <jack@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2004-05-03 05:58:08 +0800 |
---|---|---|
committer | jack <jack@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2004-05-03 05:58:08 +0800 |
commit | e443776eb7025c569df22f801965f0ec84798e35 (patch) | |
tree | a6200d5ccc57109dfece0b30180da83a9915785c /util/killdeadbbs.c | |
parent | 886fd091d3cc9e39e342e13e994fb63acb30c34b (diff) | |
download | pttbbs-e443776eb7025c569df22f801965f0ec84798e35.tar pttbbs-e443776eb7025c569df22f801965f0ec84798e35.tar.gz pttbbs-e443776eb7025c569df22f801965f0ec84798e35.tar.bz2 pttbbs-e443776eb7025c569df22f801965f0ec84798e35.tar.lz pttbbs-e443776eb7025c569df22f801965f0ec84798e35.tar.xz pttbbs-e443776eb7025c569df22f801965f0ec84798e35.tar.zst pttbbs-e443776eb7025c569df22f801965f0ec84798e35.zip |
merge trunk to branches and corrected confliction
git-svn-id: http://opensvn.csie.org/pttbbs/branches/Jaky.i18n@1919 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'util/killdeadbbs.c')
-rw-r--r-- | util/killdeadbbs.c | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/util/killdeadbbs.c b/util/killdeadbbs.c deleted file mode 100644 index 0c83fe29..00000000 --- a/util/killdeadbbs.c +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef FreeBSD -int main(int argc, char **argv) -{ - puts("this program is only for FreeBSD"); -} -#else -#include <err.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <unistd.h> -#include <signal.h> -#include <kvm.h> -#include <fcntl.h> -#include <limits.h> -#include <sys/param.h> -#include <sys/sysctl.h> -#include <sys/user.h> -#include "config.h" // for BBSUID - -int main(int argc, char **argv) -{ - kvm_t *kd; - struct kinfo_proc *kp; - char errbuf[_POSIX2_LINE_MAX]; - int nentries, i, npids; - pid_t pids[8192]; - kd = kvm_openfiles("/dev/null", "/dev/null", NULL, O_RDONLY, errbuf); - if( kd == NULL ) - errx(1, "%s", errbuf); - - if ((kp = kvm_getprocs(kd, KERN_PROC_UID, BBSUID, &nentries)) == 0 || - nentries < 0) - errx(1, "%s", kvm_geterr(kd)); - - for( npids = 0, i = nentries ; --i >= 0 ; ++kp ){ - if( strncmp(kp->ki_comm, "mbbsd", 5) == 0 ){ - if( kp->ki_runtime > (60 * 1000000) ){ // 60 secs - kill(kp->ki_pid, 1); - pids[npids++] = kp->ki_pid; - printf("%d\n", kp->ki_pid); - } - } - } - - if( npids != 0 ){ - sleep(2); - while( --npids >= 0 ) - kill(pids[npids], 9); - } - - kvm_close(kd); - return 0; -} - -#endif |