几天前,我在远程服务器上运行了多个应用程序实例(Matlab)(我不是root用户)。每个实例都将输出重定向到日志文件。
今天我想杀死一个将输出重定向到特定日志文件的进程。我知道该日志文件的名称,以及该应用程序的所有正在运行的进程的PID。但我不知道哪个PID对应于该日志文件。
我的问题是如何找到写入该日志文件的PID?或者至少得到几天前的命令历史;这样我可以估计运行该命令的时间,然后将其与当前PID的运行时间进行比较,找出最接近的匹配?
注意:我尝试了命令 history 但它只显示了我仍然登录时的今天历史。我经常做的是登录服务器,启动进程,注销,然后在接下来的几天再次登录以查看结果。
答案 0 :(得分:4)
我的问题是如何找到写入该日志文件的PID
fuser - identify processes using files or sockets
所以,这样做:
fuser filename
答案 1 :(得分:1)
如果您启动了这样的命令:
command > logfile.1
然后您可以运行ps aux | grep logfile.1
来完成此过程。