2015-02-12 70 views
1

我得到了這個問題,我有時必須先刪除某個文件,然後才能訪問google-chrome。因此,對於一個快速解決我試圖讓一個bash文件,將其刪除:刪除鉻文件時的奇怪行爲

#!/bin/bash 
rm -r /home/NAME_OF_USER/.config/google-chrome/SingletonLock 

,但每次我想執行這個小bash程序後,打開谷歌鉻,我都開在文件瀏覽器的路徑。否則我得到同樣的錯誤。該錯誤表示,該文件應該在啓動時刪除。有沒有一種方法可以「模擬」我在同一個bash程序中打開路徑?

+0

您可能還有一些chrome實例仍在運行,並保留該文件的打開句柄。 – Rohan 2015-02-12 07:28:56

+0

我知道它在做什麼,但我不知道如何爲它編寫修復程序。 – BRHSM 2015-02-12 07:31:51

+0

@jens(誰編輯標籤)我想在bash代碼中得到答案。所以不要刪除bash標籤。這個問題已經滿溢了! – BRHSM 2015-02-12 07:41:51

回答

0

第一殺文件的處理程序:

lsof -t /home/NAME_OF_USER/.config/google-chrome/SingletonLock|xargs kill 

lsof手冊:

-t該選項指定lsof的應產生具有隻處理標識符和無報頭扼要輸出 - 例如這樣輸出 可能會被管道殺死(1)。

+0

我現在不能測試它,因爲我需要把它轉換,也許它會工作,但也許不會。我會稍後再嘗試,然後看看它是否有效。可能需要一段時間,雖然 – BRHSM 2015-02-12 08:18:05

+1

'kill -9'是一個公然的代碼味道。任何半正常行爲的過程都可以用INT,HUP,QUIT或TERM之一殺死,並有機會清理其混亂。 'kill -9'可能是導致鎖定文件擱置並導致問題的主要原因,如OPs! – Jens 2015-02-12 08:18:34

+0

我同意你的意見.. brute forze應該是最後一個選項... – klashxx 2015-02-12 08:20:29