问题列表 - 第11539页

Win32 API模拟发送/捕获SIGTERM

在POSIX OS下,有一个信号API,它允许发送一个信号进行处理以使用kill来关闭它,你可以用sigaction捕获它并做你需要的事情;

但是,Win32不是POSIX系统,因此:

  • 如何处理可能出现的关闭事件,例如"任务管理器"中的"结束进程"?
  • 将关闭信号发送到Win32应用程序的标准API是什么?

我不是在谈论GUI,我在谈论应该很好地关闭的TCP/IP服务器.这不像Windows服务那样运行.

windows winapi posix shutdown sigterm

12
推荐指数
2
解决办法
2万
查看次数

WinForm应用程序UI在长时间运行期间挂起

我有一个Windows窗体应用程序,我需要使用一个for循环,有大量的远程调用约2000 - 3000次调用,

并且在执行for循环时,我放松了对窗体和窗体控件的控制,因为它变成了一个大的进程,有时它显示"无响应"但是如果我等了很长时间它又回来了,我想我需要使用一些线程模型,有什么想法,我该如何着手解决问题?

c# multithreading winforms

24
推荐指数
2
解决办法
4万
查看次数

Python subprocess.Popen错误与OSError:[Errno 12]一段时间后无法分配内存

注意:此问题已通过此处的所有调试尝试的摘要重新询问.


我有一个Python脚本作为后台进程运行,每60秒执行一次.部分原因是调用subprocess.Popen来获取ps的输出.

ps = subprocess.Popen(['ps', 'aux'], stdout=subprocess.PIPE).communicate()[0]
Run Code Online (Sandbox Code Playgroud)

运行几天后,调用错误:

File "/home/admin/sd-agent/checks.py", line 436, in getProcesses
File "/usr/lib/python2.4/subprocess.py", line 533, in __init__
File "/usr/lib/python2.4/subprocess.py", line 835, in _get_handles
OSError: [Errno 12] Cannot allocate memory

但是服务器上的free输出是:

$ free -m
                  total       used       free     shared     buffers    cached
Mem:                894        345        549          0          0          0
-/+ buffers/cache:  345        549
Swap:                 0          0          0

我一直在寻找这个问题,并发现这篇文章说:

解决方案是为服务器添加更多交换空间.当内核要求启动建模器或发现过程时,它首先确保交换存储上有足够的可用空间(如果需要).

我注意到上面的免费输出没有可用的交换.这可能是问题和/或可能存在的其他解决方案吗?

更新2009年8月13日上述代码每60秒调用一次,作为一系列监视功能的一部分.该进程是守护进程,并使用sched安排检查.上述功能的具体代码是:

def getProcesses(self):
    self.checksLogger.debug('getProcesses: start')

    # …
Run Code Online (Sandbox Code Playgroud)

python linux memory

10
推荐指数
2
解决办法
2万
查看次数

无法确定识别或非识别关系

我读过这个问题:识别和非识别关系之间有什么区别?

但我还是不太确定......我拥有的是三张桌子.

  1. 用户
  2. 对象
  3. 图片

用户可以拥有许多对象,也可以为每个对象发布许多图片.我的直觉告诉我这是一个识别关系,因为我需要在对象表中的userID,我需要在图片表中的objectID ...

还是我错了?另一个主题的解释仅限于数据库在已经编码后解释它的方式的理论解释,而不是对象在现实生活中如何连接.在考虑如何构建数据库时,我对如何做出识别与非识别的决定感到困惑.

mysql identification identifying-relationship

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

Git rebase不断失败,需要手动合并干预

我有一个问题,从master到我的一个存储库中的'deploy'分支.

我的回购设置如下:

master - of course, the main branch
deploy - a branch created where files like Capfile, deploy.rb etc are created and configured - these changes will NEVER be merged back into Master
Run Code Online (Sandbox Code Playgroud)

通常我的工作流程是:

  1. 在主分支上进行开发...测试,微笑,提交.
  2. 结帐deploy分支
  3. git rebase master在部门分支上执行- 这曾经没有问题
  4. 推送到远程,然后执行 cap deploy
  5. 放松

我现在遇到的问题是,当我git rebase master在部署分支上执行时,它会出现一个3向合并/手动合并所需的错误(我不认为错误消息非常通用,足以发布).Git告诉我执行合并然后git rebase --continue用来完成 - 这从来都不行.

我发现"确实"工作正在运行git rebase master --interactive,清理选择列表(在此列表中有5个左右重复的"提交"但具有不同的引用号(相同的消息),因此我将选择其中一个)然后手动执行合并.一旦我为每次提交完成了这个,那么我可以继续使用rebase并且它很高兴...

直到下次我需要执行rebase.

那么有谁知道什么可能会幸福?该项目并非真正"秘密",所以如果需要,我可以发布消息,日志,分支图等.

谢谢

git branch rebase

7
推荐指数
1
解决办法
5361
查看次数

在记录中包装TStringList

我倾向于使用Delphi的TStringList进行文本操作,所以我写了很多程序/函数,如:

var
  TempList: TStringList;
begin
  TempList:= TStringList.Create;
  try
    // blah blah blah do stuff with TempList   


  finally
    TempList.Free;
  end;
end;
Run Code Online (Sandbox Code Playgroud)

切断创建和释放这样一个常见的实用程序类会很好.

因为我们现在有方法的记录,是否可以在记录中包装类似TStringList的类,所以我可以:

var
  TempList: TRecordStringList;
begin
  // blah blah blah do stuff with TempList   


end;
Run Code Online (Sandbox Code Playgroud)

delphi records tstringlist

4
推荐指数
1
解决办法
2346
查看次数

为什么Eclipse IDE会变慢?

我已经下载了最新的Eclipse IDE,Galileo,并对其进行了测试,看它是否适合用Java开发Web应用程序.我也尝试过Ganymede版本的Eclipse,发现它也很好.

我的问题是,在我开发的时候,它有时会挂起并停止响应.有时当我打开文件时,Eclipse挂起并且暂时没有响应.看起来Eclipse变慢了,我的工作变得越来越慢,因为我等待Eclipse的响应时间.

当我使用NetBeans 6.7时,它很好并且性能很好.加载速度更快,IDE在开发测试期间响应良好.

我的电脑有1 GB的RAM和1.6 GHz的CPU.

你能说些什么呢?

java eclipse ide

14
推荐指数
1
解决办法
2万
查看次数

C#构造函数帮助

在下面的代码块中,为什么我需要在类中声明myData,然后在构造函数中初始化myData = new string [size]?为什么编码私有字符串[] myData = new string [size]是非法的?

也就是说,为什么我需要这样做:

class IntIndexer
{
    private string[] myData;

    public IntIndexer(int size)
    {
        myData = new string[size];

        for (int i = 0; i < size; i++)
        {
            myData[i] = "empty";
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

代替

class IntIndexer
{
    private string[] myData = new string[size];

    public IntIndexer(int size)
    {    
        for (int i = 0; i < size; i++)
        {
            myData[i] = "empty";
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c#

1
推荐指数
3
解决办法
267
查看次数

溢出:auto溢出的孩子:隐藏的div?

我有一个div必须设置为溢出:隐藏,我希望其中一个子div滚动内容; 但是,无论我如何玩儿童的溢出,它都不会滚动.我怎样才能覆盖继承?

css

3
推荐指数
1
解决办法
1098
查看次数

如何在生成XML时保留CDATA中的换行符?

我想写一些包含空格字符的文本,例如newlinetabxml文件,所以我使用

Element element = xmldoc.createElement("TestElement");
element.appendChild(xmldoc.createCDATASection(somestring));
Run Code Online (Sandbox Code Playgroud)

但是当我在使用中读回来的时候

Node vs =  xmldoc.getElementsByTagName("TestElement").item(0);
String x = vs.getFirstChild().getNodeValue();
Run Code Online (Sandbox Code Playgroud)

我得到一个没有新行的字符串了.
当我直接查看磁盘上的xml时,新行似乎得以保留.所以在读取xml文件时会出现问题.

我该如何保留换行符?

谢谢!

java xml w3c newline cdata

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