标签: process

.NET进程监视器

有没有办法确定特定机器上次运行进程的时间?

我可以使用以下内容来确定某个进程是否正在运行,但如果该进程已停止,则该应用程序无法获取该进程.

Process[] process = Process.GetProcessesByName(processName, serverName);
Run Code Online (Sandbox Code Playgroud)

c# system process

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

如何在分叉进程中处理套接字连接

例如,我有一个程序用作侦听端口5000的TCP服务器.

现在我想运行另一个命令行进程与该服务器并行运行.我知道正确的方法是分叉服务器,而不是调用"exec"....

我的问题是,子进程是否也"拥有"这个端口5000?如果我想释放这个端口5000,我是否需要杀死父进程和子进程?

我很好奇如何在分叉中处理这个套接字连接.

sockets port fork tcp process

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

如何启动优先级较低的流程?C#

我想执行命令行工具来处理数据.它不需要阻止.我希望它是低优先级.所以我写了下面的内容

 Process app = new Process();
 app.StartInfo.FileName = @"bin\convert.exe";
 app.StartInfo.Arguments = TheArgs;
 app.PriorityClass = ProcessPriorityClass.BelowNormal;
 app.Start();
Run Code Online (Sandbox Code Playgroud)

但是,我得到一条System.InvalidOperationException消息"没有进程与此对象关联." 为什么?如何以低优先级正确启动此应用程序?

没有这条线app.PriorityClass = ProcessPriorityClass.BelowNormal;,应用运行正常.

c# process shellexecute

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

C# - WCF - 进程间通信

什么是用于进程间通信的最佳WCF绑定?

我已经在本地网络上使用了WCF,这太棒了,我也想将它用于进程间通信.但是,我不想通过网络公开通信.

.net c# wcf process

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

即使进程正在运行,Process.HasExited也会返回true?

我一直在观察,即使进程仍在运行,Process.HasExited有时也会返回true.

我的代码在下面启动一个名为"testprogram.exe"的进程,然后等待它退出.问题是有时我会抛出异常; 似乎即使HasExited返回true过程本身在系统中仍然存在 - 这怎么可能?

我的程序在它终止之前写入日志文件,因此我需要在读取之前绝对确定该日志文件存在(也就是进程已终止/完成).不断检查它的存在不是一种选择.

// Create new process object
process = new Process();

// Setup event handlers
process.EnableRaisingEvents = true;
process.OutputDataReceived += OutputDataReceivedEvent;
process.ErrorDataReceived += ErrorDataReceivedEvent;
process.Exited += ProgramExitedEvent;

// Setup start info
ProcessStartInfo psi = new ProcessStartInfo
                           {
                               FileName = ExePath,
                               // Must be false to redirect IO
                               UseShellExecute = false,
                               RedirectStandardOutput = true,
                               RedirectStandardError = true,
                               Arguments = arguments
                           };

process.StartInfo = psi;

// Start the program
process.Start(); …
Run Code Online (Sandbox Code Playgroud)

c# process exit terminate

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

以编程方式确定程序是否正在运行

在C中,我如何以编程方式找出Linux/Ubuntu上是否已经运行进程以避免它启动两次?我正在寻找类似于pidof的东西.

c linux pid process

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

如何使用ProcessBuilder设置工作目录

我正在尝试在ubuntu的主目录中启动一个进程.我得到一个超出界限的数组异常.这是代码:

Process p = null;
ProcessBuilder pb = new ProcessBuilder();
pb.directory(new File("/home"));
p = pb.start();
Run Code Online (Sandbox Code Playgroud)

这是一个例外:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:459)
    at tester.Main.main(Main.java:31)
Java Result: 1
Run Code Online (Sandbox Code Playgroud)

java unix ubuntu process processbuilder

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

如何杀死Linux中的nodejs进程?

tcp 0 0 0.0.0.0:80 0.0.0.0:*LISTEN 9631/node

如何在linux(ubuntu)中终止此进程?

ubuntu kill process

31
推荐指数
6
解决办法
7万
查看次数

如何设置shell脚本的进程组

如何设置shell脚本的进程组?此外,我希望所有子进程都在同一进程组中

我期待类似于C中的setpgid().

linux shell process process-group

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

如何在命令行上获取bash子进程的进程id

我知道在bash我们可以创建一个使用圆括号子shell ().根据bash手册页:

(list) list  is  executed  in  a  subshell environment 
Run Code Online (Sandbox Code Playgroud)

另外,要获取当前进程ID,我们使用:

echo $$
Run Code Online (Sandbox Code Playgroud)

现在我的问题是如何获取使用()命令行创建的子shell的进程ID ?

如果我用这个:

echo $$; ( echo $$; ) 
Run Code Online (Sandbox Code Playgroud)

我会在stdout上打印两次父shell的进程id,因为$$甚至在创建subshel​​l之前就会进行扩展.那么如何真正强迫懒惰的扩张呢?

[解决方案应该适用于Mac,而不仅仅是Linux]

更新:

建议的链接答案不起作用,因为在我的Mac上echo $BASHPID 不起作用并返回空白.

unix macos bash shell process

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

标签 统计

process ×10

c# ×4

linux ×2

shell ×2

ubuntu ×2

unix ×2

.net ×1

bash ×1

c ×1

exit ×1

fork ×1

java ×1

kill ×1

macos ×1

pid ×1

port ×1

process-group ×1

processbuilder ×1

shellexecute ×1

sockets ×1

system ×1

tcp ×1

terminate ×1

wcf ×1