summaryrefslogtreecommitdiffstats
path: root/util/killdeadbbs.c
diff options
context:
space:
mode:
authorjack <jack@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2004-05-03 05:58:08 +0800
committerjack <jack@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2004-05-03 05:58:08 +0800
commite443776eb7025c569df22f801965f0ec84798e35 (patch)
treea6200d5ccc57109dfece0b30180da83a9915785c /util/killdeadbbs.c
parent886fd091d3cc9e39e342e13e994fb63acb30c34b (diff)
downloadpttbbs-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.c56
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