2017-04-17 177 views
0

创建/ tmp目录下的clnt_call stack.out文件在我的Linux系统中也有散装的clnt_call stack.out文件 内容中的文件创建在/ tmp目录是这样的:如何知道哪些应用程序在Linux

*** 2017/01/28 07:47:44.292 *** 
    [00] 0x7f743e0377b9:0x7ffe4d1aac50 = sig_segv_term + 0x0049 
    [01] 0x7f7441897370:0x7ffe4d1aacf0 = __restore_rt + 0x0000 
    [02] 0x7f743ea66085:0x7ffe4d1b0e20 = timezone_get_system_default + 0x01f5 
    [03] 0x7f743e033e31:0x7ffe4d1b0ec0 = clnt_driver_mgr_init + 0x0471 
    [04] 0x7f7441894bb0:0x7ffe4d1b12f0 = pthread_once + 0x0050 
    [05] 0x7f743e042432:0x7ffe4d1b1320 = cli_api_alloc_env + 0x0092 
    [06] 0x7f743e04127a:0x7ffe4d1b1460 = cli_api_alloc_handle + 0x004a 
    [07] 0x7f74412505f6:0x7ffe4d1b1470 = SQLAllocHandle + 0x0036 
    [08] 0x52685a:0x7ffe4d1b14a0 = _Z9createEnvv + 0x001a 

任何人都可以帮助我,如何知道哪个进程正在创建这些文件。

回答

0

您可以使用lsof命令。查看这里的答案https://unix.stackexchange.com/questions/13776/how-to-determine-which-process-is-creating-a-file

如果您没有lsof命令,那么您可以尝试读取所有进程的/proc/[PID]/fd目录。

/proc/PID/fd, a directory containing a symbolic link for each open file descriptor. 

编号:https://en.wikipedia.org/wiki/Procfs#Linux

只是转储全部fd的内容在一个文本文件,然后搜索它是否包含你正在寻找的文件名。如果确实如此,则向上滚动以找到PID。

转储运行ls /proc/*/fd 2>/dev/null

相关问题