以管理员身份运行
这个应该就是用管理员身份登陆的吧。。
@车上有首长: 你远程桌面是什么用户登录的?
@博客¥: 这个不是很清楚,我把程序写好了,配置文件,DLL什么的发给她,然后她放服务器上的,表示总是会自动退出,我也不清楚用的是什么权限的用户登录,我觉得应该就是管理员吧,还有就是非管理员用户登录有区别吗?
@车上有首长:
比如在linux系统中,
比如我以zz的身份登入, 并且zz用户有root权限,看到的当前进程部分如下:
那么当我zz断开登入之后,原来的进程中,以zz用户启动的进程将全部退出
-------------------------------------
希望上述信息对你有所帮助
@grass of moon: 可是这是windows server2003,并且为什么进程的退出并不是我退出之后很短的时间久退出,而是有可能过个一天两天,有时就几个小时?我用mstsc登陆进去开启程序,然后我关闭桌面,应该不算是退出吧...服务器还是正常在运行的,搞不太懂
@车上有首长:
为了搞定是不是因为用户退出引起的,可以进行如下尝试:
1. 以一个用户名a登入,任意运行程序,查看当前进程信息,也可以看得到用户的吧
2. 然后退出用户a, 以用户b登入,再次查看进程信息
windows server应该可以看到不同用户的进程信息的吧
-------------------------------------
由于没有使用过该系统,如有不足,表示理解
@grass of moon: 非管理员身份登录可能会被注销
服务器怎么会自动关你的程序呢;应该是你的程序自己挂了;
程序也就是晚上会跑一次,我在里面有一个timer控件,如果当前时间等于下一次上传时间,那么它就会上传资料,上传完毕了,就不会做任何动作了啊,就是timer控件每隔一秒计时判断,是不是这个timer问题?
1楼没错.基本上是自己奔溃了
没有吧,如果说是上传资料的时候出现了错误,自动关闭,那么这个可以理解,问题是它是在闲时关闭的,就是并不是传资料的时候,上传资料顶多半分钟,但是程序有可能是白天会关闭,有可能是任何时候,并不会是因为操作DB出现异常导致的关闭。这才是我郁闷的原因
多线程内部异常未捕捉,会直接关闭程序,这是大部分情况
加个线程内部异常捕捉
比如
Application.ThreadException += Application_ThreadException;
static void Application_ThreadException(object sender, ThreadExceptionEventArgs e)
{
try
{
Log.Fatal(e.Exception);
coll.Remove(query);
}
catch (Exception ex)
{
Log.Fatal(ex);
}
}
骚年你这函数里面的query是什么对象?还有Log静态类需要引用什么?
对于定时任务,linux的服务器可以采用crontab处理定时任务,
windows下也可以采用类似的方式进行执行,见:http://www.hdj.me/crontab-for-windows
------------------------------------------------
希望对你有所帮助~
可是这个跟我用Timer计时器判定当前时间和下一次执行时间是否一致有区别吗~~并且如果用你说的那个工具的话,假如因为某些问题程序异常,而那边急需要数据,我需要现在立即重启,上传数据,然后重新恢复到每天晚上0点执行,这个对于第一次执行时间的控制,貌似只有用代码控制吧。不过还是谢谢你,以后写别的还是可以参考下
服务器可能会注销长时间不登入的用户,这样这用户下的程序都会被自动关闭(是关闭不是异常),首先你把自动注销用户取消掉,其次你这种类型的程序不要用WINFORM你直接写个WIN SERVICE
不是吧,我并没有注销用户啊,我只是远程登录服务器,然后点X退出而已,然后过个不确定的时间去看,居然就不见运行的程序了
搞个Win服务多好