作者waynesan.bbs@csc241.tcssh.tc.edu.tw (哇係阿虎) 看板: plan
標題[功能] admutil.c 線上重啟母bbsd
時間local (2004/05/20 Thu 10:26:09) Updated: 2004/05/20
: global.h
+ #define FN_RUN_FILE "run/bbs.run" /* waynesan.040520:線上重啟bbsd */
#define FN_RUN_USIES "run/usies" /* BBS log */
: bbsd.c:start_daemon()
sprintf(data, "%d\t%s\t%d\tinetd -i\n", getpid(), buf, port);
f_cat(PID_FILE, data);
+ sprintf(data, "%d\n", getpid()); /* waynesan.040520:線上重啟bbsd */
+ f_cat(FN_RUN_FILE, data);
return;
}
...
...
/* standalone */
sprintf(data, "%d\t%s\t%d\n", getpid(), buf, port);
f_cat(PID_FILE, data);
+ sprintf(data, "%d\n", getpid()); /* waynesan.040520:線上重啟bbsd */
+ f_cat(RUN_FILE, data);
}
: menu.c:menu_admin[]
"bin/admutil.so:a_resetsys", PERM_ALLADMIN, - M_SYSTEM,
"BBSreset ◤ 重置系統 ◢",
+ "bin/admutil.so:a_rebbsd", PERM_SYSOP, - M_SYSTEM,
+ "Rebbsd ◤ 重啟bbsd ◢",
menu_main, PERM_MENU + Ctrl('A'), M_AMENU,
"系統維護"
};
: admutil.c:a_rebbsd() 新增此函式在 a_resetsys() 後面
/* ----------------------------------------------------- */
/* waynesan.040519線上重啟bbsd */
/* ----------------------------------------------------- */
int
a_rebbsd()
{
if (vans("確定要重啟bbsd(Y/N)?[N] ") == 'y')
{
FILE *fp;
char buf[20], tmp[10];
if (fp = fopen(FN_RUN_FILE, "r"))
{
fscanf(fp, "%s", tmp);
fclose(fp);
f_rm(FN_RUN_FILE);
sprintf(buf, "kill %s", tmp);
system(buf);
system("bin/bbsd"); /* standalone 才需要這行 */
vmsg("bbsd已重啟");
}
}
return XEASY;
}
--
╴╴
/ /▔▔\ 迷幻國度 Charming Shadow Country
▕ / /\ ▏入境位址 csc241.twbbs.org
▕ \/ / ▏位址代碼 203.71.212.241
\╴╴/ / 來源母國 203.71.212.124
/ ▔▔\ 發表時間 2004/05/20 Thu 10:04:04