daemon 執行的時候, 通常會在程式裡 chdir 到 / 再開始做事, 藉此避免之後 daemon 所在的目錄無法被砍掉 (即使從檔案系統上下指令砍掉該目錄, 實際上它仍存在, 要等 daemon 結束才會真的釋放)。
程式執行中若需要寫入一些暫存檔, 要考慮到權限問題, 可以寫到 /tmp 最省事, 若需要永久保留, 考慮寫到 $HOME/.PROG/ 下, 不要直接寫到執行檔目錄下。平時開發寫到執行檔目錄下沒有問題, 但當需要將程式打包成套件, 裝到系統目錄時 (如 /usr/bin、/usr/local/bin), 就會有權限問題而無法寫入。
用執行者的$HOME?
回覆刪除是的, 看應用程式類型而定, 若本來是使用者直接用的程式, 寫到 $HOME 下滿合理的, daemon 則是另一回事
回覆刪除所以還要小心別跟其它程式在.PROG裡面的檔案衝突囉?
回覆刪除啊, PROG 是指自己寫的程式名稱, 比方說 vim 會用 .vim, cgdb 會用 .cgdb
回覆刪除就算是使用者直接使用的程式,為什麼要寫到$HOME,而不是寫到/tmp 下?
回覆刪除唔,看錯意思了,我誤會了...:P
回覆刪除我是指需要永久保留的話, 才考慮寫到 $HOME/.PROG/, 畢竟系統隨時有可能會去清 /tmp。寫在 /tmp 下的東西應該是最沒保障的, 顧名思議, 該用來放些可以隨時被砍掉的暫存檔
回覆刪除