可以在Mono C#程序中发送unix信号吗?
我有一个在Windows和Linux上运行的C#程序。当它在Linux上运行时,系统上运行着另一个进程,我希望能够向其发送命令,并让该进程执行该命令 我最初的直觉是在另一个过程中实现一个信号处理程序,让C#程序在需要与之交互时发送适当的信号。然而,在四处搜索时,我找不到Mono API中存在的发送unix信号的功能(然而,我发现Mono支持信号处理,这给了我希望)可以在Mono C#程序中发送unix信号吗?,c#,mono,signals,C#,Mono,Signals,我有一个在Windows和Linux上运行的C#程序。当它在Linux上运行时,系统上运行着另一个进程,我希望能够向其发送命令,并让该进程执行该命令 我最初的直觉是在另一个过程中实现一个信号处理程序,让C#程序在需要与之交互时发送适当的信号。然而,在四处搜索时,我找不到Mono API中存在的发送unix信号的功能(然而,我发现Mono支持信号处理,这给了我希望) 此功能是否作为Mono API的一部分存在?您正在命名空间Mono.Unix.Native中查找Syscall.kill(参考Mon
此功能是否作为Mono API的一部分存在?您正在命名空间
Mono.Unix.Native
中查找Syscall.kill
(参考Mono.Posix
)
使用ABRT自杀的示例(6/中止):
Ref:您签出Mono.Posix库了吗?在Mono中编译上述代码的方法是:
mcs/reference:Mono.Posix.dll testapp.cs
using System;
using Mono.Unix.Native;
namespace killself
{
class MainClass
{
public static void Main(string[] args)
{
var currentPID = Syscall.getpid();
Syscall.kill(currentPID, Signum.SIGABRT);
}
}
}