Windows服务用 Proccess 调用 exe 卡住

吉普赛的歌 2018-05-30 09:02:25
加精
Windows 服务和 exe 都是我写的。
Windows服务的功能: 通用的定时功能, 通过配置动态创建定时器, 通过 Proccess 调用外部的 exe 文件。
exe 也是 C# 写的, 功能是对目标文件夹中文件的一些压缩、复制、移动的一些操作。

Windows 服务在调用其它比较简单的 exe 时, 都是非常顺利的。
但调用那个特定的 exe 文件, 在目标文件夹里有一些子文件夹时就会卡住, 执行到一半就不执行了(相关的日志不再有,而且exe进程也不退出), 但不报异常。 等很久也没反应, 但在停止服务时, exe 文件又奇迹般地开始执行了(从exe的日志可以看到)。

另外: exe 在 cmd 下执行是完全没有问题的。

哪位大神有经验的, 请赐教!
...全文
2903 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
OwenZeng_DBA 2018-05-31
  • 打赏
  • 举报
回复
哈哈,说明还是自己厉害
吉普赛的歌 2018-05-31
  • 打赏
  • 举报
回复
已经解决了, 是 exe 输出内容太多导致了死锁, 可以禁用输出或者是异步输出。 随便来几个人结贴吧。
真相重于对错 2018-05-31
  • 打赏
  • 举报
回复
调试不一定非要在IDE里。
吉普赛的歌 2018-05-31
  • 打赏
  • 举报
回复
引用 5 楼 earlsen 的回复:
Windows 服务和 exe 文件是不是都是同一个框架写的? 要注意64位 和 32位的问题
是同一框架, 都是 64 位下的
吉普赛的歌 2018-05-31
  • 打赏
  • 举报
回复
引用 4 楼 xuzuning 的回复:
触发周期小于运行时间,可能因共享冲突造成死锁 停止服务后,因再无新的触发请求,使已有线程得以顺利运行
不是, 重入问题已解决, 重入时未执行完会直接放弃。
吉普赛的歌 2018-05-31
  • 打赏
  • 举报
回复
引用 7 楼 qq_17486399 的回复:
[quote=引用 4 楼 xuzuning 的回复:] 触发周期小于运行时间,可能因共享冲突造成死锁 停止服务后,因再无新的触发请求,使已有线程得以顺利运行
+1[/quote] 不是, 重入问题已解决, 重入时未执行完会直接放弃。
wanghui0380 2018-05-31
  • 打赏
  • 举报
回复
代码在哪里?
大鱼> 2018-05-31
  • 打赏
  • 举报
回复
引用 4 楼 xuzuning 的回复:
触发周期小于运行时间,可能因共享冲突造成死锁 停止服务后,因再无新的触发请求,使已有线程得以顺利运行
+1
正怒月神 2018-05-31
  • 打赏
  • 举报
回复
1 首先应该是代码问题了。因为简单的exe运行没有问题。 2 “exe 也是 C# 写的, 功能是对目标文件夹中文件的一些压缩、复制、移动的一些操作。但调用那个特定的 exe 文件, 在目标文件夹里有一些子文件夹时就会卡住, 执行到一半就不执行了。” 操作的方式是什么?多线程的吗?资源被独占访问导致的? 3 文件夹权限有吗?这个导致问题的可能性不大。
earlsen 2018-05-31
  • 打赏
  • 举报
回复
Windows 服务和 exe 文件是不是都是同一个框架写的? 要注意64位 和 32位的问题
xuzuning 2018-05-31
  • 打赏
  • 举报
回复
触发周期小于运行时间,可能因共享冲突造成死锁 停止服务后,因再无新的触发请求,使已有线程得以顺利运行
51Crack 2018-05-31
  • 打赏
  • 举报
回复
不用timer
wowocpp 2018-05-31
  • 打赏
  • 举报
回复
厉害啊 用到 递归了
足球中国 2018-05-31
  • 打赏
  • 举报
回复
附加进程,按下暂停键,看代码停在哪个地方就OK了。当然你要可以选择OD,WINDEUBG等工作来做
吉普赛的歌 2018-05-30
  • 打赏
  • 举报
回复
@sp1234
引用 1 楼 DOwnstairs 的回复:
感觉应该是代码的问题。。仔细看看,应该有哪地方写的不完善。。。递归了?
确实有递归。 但直接执行很顺利, 30秒就能执行完
SoulRed 2018-05-30
  • 打赏
  • 举报
回复
感觉应该是代码的问题。。仔细看看,应该有哪地方写的不完善。。。递归了?

110,500

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧