夜魚 取得連結 Facebook X Pinterest 以電子郵件傳送 其他應用程式 2月 01, 2016 魚纏住了線 收不回的彼端 月色佇足 塗不上炫染白漆 熟莫了這塵凡絲線素張 僅一愁滄浪的石灰坑 落下煙煙阻絕清明的氣色 剪了線 逃了魚 縱歸洋 夜無了 取得連結 Facebook X Pinterest 以電子郵件傳送 其他應用程式 留言
Unix 重新導向跟 2>&1 11月 01, 2010 這幾天因為研究 L4D2 的專屬伺服器架設,看到 Srcds 網站針對確保 Srcds 服務程序能隨時保持高優先權,在 crontab 底下使用 renice 的方式每五分鐘調整一次程式的優先權,其指令中 renice -20 `cat /home/yoursrcdspath/srcds.pid` >/dev/null 2>&1 最後面的「>/dev/null 2>&1」為 Unix 的重新導向技巧。雖然大約知道是什麼,不過實際上的原理我卻一直不明白,大約查了一下,疑問變更多。於是我決定來搞清楚它的來龍去脈,這篇文章就是這樣來的。 首先,我們先說明一下這段語法的作用,「>/dev/null 2>&1」實際上在這裡會將左邊程式的執行結果丟給「/dev/null」,然後不管程式有什麼錯誤,也會一併丟給 null。熟悉 Unix 的人大概知道,「/dev/null」是 Unix 底下的垃圾筒+黑洞。它不帶任何意義,所有丟進去的東西都會被吃掉然後不見,反正你不想看到的東西丟給 null 就對了。而「>」的意思其實是,將「>」左邊輸出的東西重新導向到右邊去。但不止是這樣而已,系統將標準輸入輸出分成三個:標準輸入 (stdin)、標準輸出 (stdout)、以及標準錯誤輸出 (stderr),它們的 fd (file descriptor, 檔案描述子) 分別是 0、1、2。當「>」左邊未指定任何東西時,它會讀取左方程式的標準輸出 (也就是 fd=1) 重新導向給右邊的東西,但是你也可以指定要重新導向的 fd (也就是說「>abc.txt」會等於「1>abc.txt」)。所以可以想見 2>&1 的意思應該是把 fd=2,也就是標準錯誤輸出重新導向給 &1。而這邊的 &1 指的其實就是 fd=1。這邊似乎有點混淆視聽的感覺,為什麼「>」前面的 fd 不需要指定 &,後面的 fd 卻又要加 & 呢?我沒找到確切的原因,但是根據 這篇討論 ,我認為有可能是因為「>」左邊只接受 fd,但右邊所接收的語法卻應該是檔案名稱。因此若用「2>1」其結果會變成「將標準錯誤輸出重新導向給檔案名稱為 "1" 的檔案」,... 閱讀完整內容
薰衣草茶實驗中... 10月 03, 2008 前陣子跟老姊逛家樂福時看見他們有一堆花草葉,除了本文談的薰衣草外,還有馬鞭草、檸檬草、薄荷葉...等等,看了讓人很心動。那時其實很想多買幾樣回來泡,不過最後是只有選了薰衣草回來,其它的以後再說。(話說我超想試薄荷跟馬鞭草的) 買回薰衣草後,它除了泡茶外還可以做成香包,搞了一個放在衣櫃裡(不要覺得男生用薰衣草放衣櫃很怪,我的萬年衣櫃...它真的需要霉味以外的味道)。不過,薰衣草茶要怎麼泡?查了一下網路,發現大部分的人都說泡個五六分鐘。顏色有的人說是紫色、紫紅、藍紫、黃綠色.....,還有一說,水溫80度是紫色,滾水泡是紫紅色。但不管怎麼樣,我試驗的結果如下: 滾水 -> 黃色 八十度 -> 紫色,薰衣草太多會變紫黑色... 我還沒試過90度會怎麼樣,有機會再試試。薰衣草本身的香味很正,只要一點點就很香了,但茶湯就不怎麼樣,所以在泡的時候最好是確定你沒放太多,和別的花草茶調配也是不錯的做法。之前試過和紅茶一起煮成奶茶,感覺不錯。不過,本文最後的重點是:我發現有人說薰衣草茶加了檸檬之後會成粉紅色...什麼!這麼有趣一定要來試試! 果不期然,反正不管我是煮成黃色、紫色、紫黑色...加了檸檬之後它都會變紅,當然色澤會跟你泡出來的顏色深度成正比;色澤愈深,加入之後會愈往桃紅色走。加了檸檬之後喝起來酸酸的,再加點糖味道就更棒了。 閱讀完整內容
Wordpress ImageCounter 黑點 6月 03, 2011 最近在幫一個客戶架 WordPress 網站,對方要求要有計數器。找到一個很不錯的 plug-in: ImageCounter ,可以指定計數器底圖和字型等,在外觀上還蠻自由的。底圖只能用 GIF 檔,程式是以 PHP 將數字貼上。不過在套用的時候卻發現 GIF 在有透明背景的情況下會產生黑點,後來不用透明效果數字卻反而變透明,沒入背景圖中...。 這現象太詭異,還好程式蠻簡單的,乾脆看一下它的 php 碼。發現 ImageCounter() 函式中,有一行 imagefill($image,0,0,$bgcolor); 這裡的 $bgcolor 即沒宣告 Global 也沒有初始化,看起來是個孤兒... 所以我查了一下 imagefill 的用法,指定顏色給它 $bgcolor = imagecolorallocate($image, 255, 255, 255); 然後黑點就很神奇的不見了。不過,再深入查看 imagefill 的作用,和起來就只是從指定的點開始填入顏色,看不出來這裡的作用。於是把它拿掉看看,好像還是正常的。由於和 php 的圖形函式庫不熟,也沒空再深入研究,就處理好這裡,收工。 閱讀完整內容
留言