我现在正在使用一些Winforms代码,我多次遇到这样的行:
---
- name: Including Variables
include_vars:
file: Linux.yml
- name: Gathering EC2 Facts
ec2_remote_facts:
aws_access_key: "{{ access_key }}"
aws_secret_key: "{{ secret_key }}"
region: us-east-1
filters:
"tag:Name": "{{ ansible_hostname }}"
register: instanceId
- debug: var=instanceId.instances.id
...它只是在客户端计算机上启动一些进程,并完全忘记了它。 ...
System.Diagnostics.Process.Start(someFileName);
...
返回一个Process.Start(someFileName)
类型对象,它实现了Process
,但代码没有对该对象做任何事情,因为整个想法只是触发进程而忘记它。 / p>
在这种情况下,如果IDisposable
对象仍然处理掉,如果我们根本没有将它保留在内存中那么?类似的东西:
Process
或
using (System.Diagnostics.Process.Start(someFileName) { }
答案 0 :(得分:0)
Clien Name Acct # Count Count Max
XYZ LTD. 1234 4 6
XYZ LTD. 4565 6 6
XYZ LTD. 4565 6 6
XYZ LTD. 4565 6 6
XYZ LTD. 4565 6 6
XYZ LTD. 1234 4 6
XYZ LTD. 1234 4 6
XYZ LTD. 4565 6 6
XYZ LTD. 1234 4 6
XYZ LTD. 4565 6 6
XYZ LTD. 7898 6 6
XYZ LTD. 7898 6 6
XYZ LTD. 7898 6 6
XYZ LTD. 7898 6 6
XYZ LTD. 7898 6 6
XYZ LTD. 7898 6 6
个对象包含非托管资源(Process
句柄)
HProcess
因此应该被处理。使用局部变量(public class Process : Component {
//
// FIELDS
//
bool haveProcessId;
int processId;
bool haveProcessHandle;
SafeProcessHandle m_processHandle; // <- This should be disposed
bool isRemoteMachine;
string machineName;
ProcessInfo processInfo;
Int32 m_processAccess;
...
)看起来在上下文中超调,这就是我建议的原因
var process = ...