5
我在系統上執行性能測試,我需要確保從磁盤讀取數據,而且不僅僅是緩存(比如早期的測試)。我讀here,我可以用命令刪除緩存允許非root用戶放棄緩存
echo 3 | sudo tee /proc/sys/vm/drop_caches
但是請注意,即使我的帳戶是管理員帳戶(登錄彼得),它仍然需要我的密碼。我希望能夠以批處理腳本運行而不需要輸入密碼(因爲這顯然是手動的)
更多research將我引向sudoers文件。我的計劃是將上述命令放到一個名爲dropCache的單行腳本中,並編輯sudoers,以便我可以在不輸入密碼的情況下運行它。所以我增加了行
ALL ALL=(ALL)NOPASSWD:/home/peter/dropCache
在我的sudoers文件的末尾(使用visudo命令)。隨着我的管理員帳戶,如果我跑
sudo -l
我得到
(ALL) NOPASSWD: /home/peter/dropCache
但是,如果我跑我的dropCache劇本我仍然可以問我密碼
./dropCache
[sudo] password for peter:
任何幫助將不勝感激。我運行Ubuntu 12.04
感謝 彼得
喜托馬斯 - 冷靜 - 讓我試試看,並送還給你! –
這工作!謝謝托馬斯 - 你應該得到你的高信譽評分 –
這個可執行文件存在安全風險 - 你不需要設置你的PATH並且運行一個沒有絕對路徑名的外部命令。您可以直接調用sync()系統調用,而不是運行外部同步命令。 –