在Windows应该可以这样做。自己编写另外一个用不退出的程序,这个程序的主要任务是睡觉,然后每隔两个小时醒来一下,执行两条命令:
net stop XXX
net start XXX
在Windows的服务管理器里可以查到resin web server的服务名称,然后代替上面的XXX就可以了。用C语言可以这样写程序:
#include <process.h>
int main()
{
while(1)
{
Sleep(2 * 60 * 60 * 1000);
System("net stop XXX");
System("net start XXX");
}
return 0;
}Java当然也可以写,偶不会,你自己写吧。
net stop XXX
net start XXX
在Windows的服务管理器里可以查到resin web server的服务名称,然后代替上面的XXX就可以了。用C语言可以这样写程序:
#include <process.h>
int main()
{
while(1)
{
Sleep(2 * 60 * 60 * 1000);
System("net stop XXX");
System("net start XXX");
}
return 0;
}Java当然也可以写,偶不会,你自己写吧。
如果不是,你只能通过程序名找到进程编号,然后杀掉进程再重新启动程序了。
#include <windows.h>
使用VC编译。
你用resin,可以参考上边的办法试一下。ps:做web开发的同志应该满心期望服务器能够稳定持续的运行下去,为何楼主还要这样频繁的重启服务器呢?
{
public void run()
{
while(true)
{
sleep(2*60*60*1000);
Process p = Runtime.getRuntime().exec("服务器关闭命令");
Process p = Runtime.getRuntime().exec("服务器重开命令");
}
}
}再用一个类来start这个线程,不知道可不可以,兄弟自己试一下!
public Tasker() {
}
static Timer timer = null; public void run() {
timer = new Timer() ;
timer.schedule(new AddTask(), 1, 7200000); // 7200000 代表两小时
} public void cancel() {
if(isRuning) {
timer.cancel();
timer = null ;
}
} public boolean isRuning(){
return timer != null ;
} class AddTask
extends TimerTask {
public void run() {
try {
Process p = Runtime.getRuntime().exec("服务器关闭命令");
Process p = Runtime.getRuntime().exec("服务器重开命令");
} catch (Exception e) {
e.printStackTrace();
}
}
}}
把resin放在后台就行!
不会可留言!
if(isRuning) {
timer.cancel();
timer = null ;
改成:
if(isRuning()) {
timer.cancel();
timer = null ;