相关疑难解决方法(0)

如何检测Linux OS是否使用KDE或Gnome环境

我需要在Linux上以编程方式确定正在运行的窗口管理器.

关于如何使用的伪代码:

if(WindowManagerOfOS.isKDE()){
      do.anyThing();
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?它甚至可能吗?

java linux kde gnome desktop-application

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

在不使用popen()或system()的情况下按名称查找进程的PID

我有一个进程名称,我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吗?

c unix signals pid kill

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

标签 统计

c ×1

desktop-application ×1

gnome ×1

java ×1

kde ×1

kill ×1

linux ×1

pid ×1

signals ×1

unix ×1