我需要在Linux上以编程方式确定正在运行的窗口管理器.
关于如何使用的伪代码:
if(WindowManagerOfOS.isKDE()){
do.anyThing();
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?它甚至可能吗?
我有一个进程名称,我kill()要向该进程发送一个信号,但我需要调用它的PID kill().我只想用:
popen("pidof process_name");
Run Code Online (Sandbox Code Playgroud)
作为最后一件事.有没有其他方法可以找到进程'PID?我能想到的一种方法是向该进程发送套接字请求并询问其PID.
另一种方式对于我正在编写的简单代码来说有点过于复杂:要做pidof命令的源代码实际正在做的事情(它使用函数调用find_pid_by_name()但是它做了很多事情).
如果没有简单的解决方案,我就这样做:
system("pkill <process_name>");
Run Code Online (Sandbox Code Playgroud)
并检查其返回码.但是,在所有Linux机器上都可以获得pkill吗?