问题列表 - 第1026页

System.Diagnostics.Process.Start奇怪的行为

我正在编写一个应用程序来启动和监视C#中的其他应用程序.我正在使用System.Diagnostics.Process类来启动应用程序,然后使用Process.Responding属性监视应用程序,以每100毫秒轮询一次应用程序的状态.我使用Process.CloseMainWindow来停止应用程序或Process.Kill如果它没有响应就杀死它.

我注意到一种奇怪的行为,有时进程对象进入一种状态,即当底层进程在循环中挂起并且它不响应CloseMainWindow时,响应属性总是返回true.

重现它的一种方法是在启动流程实例后立即轮询Responding属性.所以举个例子

_process.Start();
bool responding = _process.Responding;
Run Code Online (Sandbox Code Playgroud)

将重现错误状态

_process.Start();
Thread.Sleep(1000);
bool responding = _process.Responding;
Run Code Online (Sandbox Code Playgroud)

将工作.将睡眠周期减少到500将再次引入错误状态.

启动后调用_process.Responding太快的东西似乎阻止了对象获取正确的Windows消息队列处理程序.我想我需要等待_process.Start完成它的异步工作.有没有比调用Thread.Sleep更好的方法来等待这个?我不太自信1000毫秒总是足够的.

.net c# asynchronous

8
推荐指数
1
解决办法
3948
查看次数

命令行程序创建网站截图(在Linux上)

在Linux上创建网站截图的好命令行工具是什么?我需要在没有人工交互的情况下自动生成网站的屏幕截图.我找到的唯一工具是khtml2png,但我想知道是否有其他不基于khtml(即有良好的JavaScript支持,......).

linux screenshot

63
推荐指数
4
解决办法
9万
查看次数

nginx设置问题

我知道这不是一个直接的编程问题,但stackoverflow上的人似乎能够回答任何问题.

我有一台运行Centos 5.2 64位的服务器.相当强大的双核2服务器,4GB内存.它主要提供静态文件,flash和图片.当我使用lighttpd时,它可以轻松地提供超过80 MB /秒的速度,但是当我使用nginx进行测试时,它会降低到低于20 MB /秒.

我的设置很简单,使用默认的安装文件,我添加了以下内容

user  lighttpd;
worker_processes  8;
worker_rlimit_nofile 206011;
#worker_rlimit_nofile 110240;

error_log   /var/log/nginx/error.log;
#error_log  /var/log/nginx/error.log  notice;
#error_log  /var/log/nginx/error.log  info;

pid        /var/run/nginx.pid;


events {
    worker_connections  4096;
}

http {
....

keepalive_timeout  2;
....
}
Run Code Online (Sandbox Code Playgroud)

我认为nginx至少应该是那么强大,所以我一定不会做某事.

lighttpd nginx

8
推荐指数
2
解决办法
2217
查看次数

更轻松地调试Windows服务

是否有更简单的方法来单步执行代码,而不是通过Windows服务控制管理器启动服务,然后将调试器附加到线程?这有点麻烦,我想知道是否有一个更简单的方法.

c# debugging windows-services

321
推荐指数
14
解决办法
22万
查看次数

如何使用T-SQL告诉SQL Server数据库是否将TRUSTWORTHY属性设置为on或off

如何使用T-SQL告诉SQL Server数据库是否将TRUSTWORTHY属性设置为on或off

sql-server

16
推荐指数
1
解决办法
9888
查看次数

哪些进程正在使用unix上的哪些端口?

我需要找出哪些端口附加到Unix机器上的哪些进程(HP Itanium).不幸的是,lsof没有安装,我无法安装它.

有没有人知道另一种方法?一个相当漫长的谷歌搜索会议没有发现任何东西.

hp-ux

34
推荐指数
5
解决办法
13万
查看次数

如何将PHP脚本转义为外部编辑器并在之后返回?

具体来说,我有一个PHP命令行脚本,在某一点上需要用户输入.我希望能够执行外部编辑器(例如vi),并等待编辑器在恢复脚本之前完成执行.

我的基本想法是使用临时文件进行编辑,然后检索文件的内容.有点像:

$filename = '/tmp/script_' . time() . '.tmp';

get_user_input ($filename);

$input = file_get_contents ($filename);
unlink ($filename);
Run Code Online (Sandbox Code Playgroud)

我怀疑这是不可能从PHP命令行脚本,但我希望有一些shell脚本技巧可用于实现相同的效果.

关于如何在其他脚本语言中实现这一点的建议也非常受欢迎.

php shell command-line user-input

6
推荐指数
1
解决办法
1878
查看次数

查看从存储过程创建的临时表

我在SQL 2005中有一个存储过程.存储过程实际上是在SP的开头创建临时表并在最后删除它.我现在在VS 2005中调试SP.在SP之间,我想知道临时表中的内容.任何人都可以在运行时帮助查看临时表的内容.

谢谢Vinod T.

sql sql-server stored-procedures

5
推荐指数
3
解决办法
6万
查看次数

如何编写检查openGL支持的安装程序?

我们有一个使用OpenGL的3D查看器,但我们的客户有时会抱怨它"不工作".我们怀疑大多数这些问题源于他们试图在businiss笔记本电脑上使用,实际上是现代3D实时游戏.

我们如何在我们使用的windows msi安装程序中检查对openGL的支持?

作为旁注,如果你能回答"OpenGL支持的图形卡列表?",那也很有意思.奇怪,谷歌在这里没有帮助..

windows opengl windows-installer

6
推荐指数
1
解决办法
2562
查看次数

在编译时检查堆栈使用情况

有没有办法在C编译时知道并输出函数所需的堆栈大小?这是我想知道的:

我们来看一些功能:

void foo(int a) {
    char c[5];
    char * s;
    //do something
    return;
}
Run Code Online (Sandbox Code Playgroud)

在编译这个函数时,我想知道它被调用时会消耗多少堆栈空间.这可能对检测隐藏大缓冲区的结构的堆栈声明很有用.

我正在寻找能打印出类似内容的东西:

file foo.c:function foo stack usage是nbytes

有没有办法不看生成的程序集知道?或者可以为编译器设置限制?

更新:我不是试图避免给定进程的运行时堆栈溢出,我正在寻找一种在运行时之前查找的方法,如果编译器确定的函数堆栈使用可用作编译过程的输出.

让我们换一种说法:是否可以知道函数本地所有对象的大小?我猜编译器优化不会成为我的朋友,因为某些变量会消失但是上限很好.

c compiler-construction callstack

29
推荐指数
2
解决办法
9316
查看次数