使用readlink函数作为解决方案如何在C中找到可执行文件的位置?,我如何将路径转换为char数组?此外,变量buf和bufsize代表什么,我如何初始化它们?
编辑:我正在尝试获取当前正在运行的程序的路径,就像上面链接的问题.这个问题的答案说要用readlink("proc/self/exe").我不知道如何在我的程序中实现它.我试过了:
char buf[1024];
string var = readlink("/proc/self/exe", buf, bufsize);
Run Code Online (Sandbox Code Playgroud)
这显然是不正确的.
前段时间我需要编写c ++代码来杀死某些进程.在我的主程序中,我使用系统("...")运行大型CAE系统包,输入时使用不同的文件名字符串.CAE软件创建许多进程,包含进程名称字符串filename).一些CAE流程的工作时间 > MAX_TIME,比我更需要关闭它们:
//filename contains part of CAE-process name
string s="/bin/kill -9 `ps aux | grep "+filename+" | awk {'print $2'}`";
system(s.c_str());
Run Code Online (Sandbox Code Playgroud)
输出是:
Usage:
kill pid ... Send SIGTERM to every process listed.
kill signal pid ... Send a signal to every process listed.
kill -s signal pid ... Send a signal to every process listed.
kill -l List all signal names.
kill -L List all signal names in a nice table.
kill -l signal …Run Code Online (Sandbox Code Playgroud)