因此,我正在編寫一個python腳本,我的目標是使用lsof列出本地用戶的特定目錄(我的主文件夾)下的所有打開文件,輸出'uniq'條目。當我指定用戶時,lsof命令沒有在指定的目錄中查找
我的劇本是這樣的:
import os, sys, getpass
user = getpass.getuser()
cmd = "lsof -u " + user + " +d ~ | sort | uniq"
os.system(cmd)
這種做什麼,我想要它做的,它確實LSOF當前本地用戶,但它不能在我指定的主目錄具體看。相反,它在根目錄上執行lsof併爲用戶列出整個文件系統的所有lsof。但是,當我執行相同的命令而沒有-u user
時,它特別在主目錄中查找。我一直在尋找爲什麼這是完全的,是的,我已經嘗試使用+d /home/
和+d ~/home/
而不是隻是+d ~
得到這個工作沒有成功,所以我有點難住。任何意見將是巨大的:)
你爲什麼期望'+ d/home /'或'+ d〜/ home /'做類似'+ d〜'的事情?通常情況下,'〜'是指'/ home/me',而不僅僅是'/ home',除了'/ home/me'之外,你不可能在'/ home'中打開任何文件。 (請注意,'+ d'不是遞歸的,如果你願意的話,可以使用'+ D')。並且'〜/ home /'將會是'/ home/me/home /',它可能不存在。那麼,你試圖通過嘗試完成什麼? – abarnert 2013-02-13 20:35:10