Tag Archives | terminal

Pattern in terminal

เมื่อวานก่อนกลับบ้านมีหน้าจอ Terminal เต็มไปหมดเลยสลับไปสลับมาเล่น แล้วก็เห็นโดยบังเอิญ แต่ไม่ได้จับภาพเก็บไว้ วันนี้ตอนเช้าเห็นคล้ายกัน เลยจับมาเก็บไว้ซักหน่อย จากนั้นก็นึกขึ้นได้ลองทำเองดูดีกว่า อันนี้เครื่องหมายบวก เครื่องหมายลบ ตัว * แปลกดีแฮะ ดูกับจอ notebook ไม่เห็นด้วยนะ ^^!

Read full story Comments { 0 }

nohup

สัปดาห์ที่แล้วพี่บอกว่าโปรแกรมที่เขียนไปมีบั๊ก ให้หาให้หน่อยว่าเกิดจากอะไร การทำงานของมันก็ง่ายคือ โปรแกรมแรกรับคำสั่งจากผู้ใช้มาดูว่าจะเรียก โปรแกรมอื่นอย่างไร จากนั้นก็เลือกโปรแกรมมาทำงาน ถ้าใช้งานตามปกติสั่งคำสั่งเสร็จแล้วกดออก มันก็ไม่มีอะไรผิดปกติ แต่อาการผิดปกติจะเกิดขึ้น เมื่อสั่งเสร็จแล้วกดปิด terminal ทิ้งทันที ดูตอนแรกก็คิดไปถึงเรื่อง process ของลินุกซ์ว่าต้องเป็นเรื่อง process แม่เรียก process ลูกแน่ๆ แต่ขุดไปขุดมาดันไม่เกี่ยวซะงั้นแต่เกิดจากตัวที่ คาดไม่ถึงคือ signal แถมเป็น signal ที่ไม่คิดว่าจะเจอด้วยคือ hang up (คือไม่เคยเจอมาก่อนหนะ ) เป็น signal ที่เกิดเมื่อมีการปิด terminal ไป(เหมือนกับวางหูโทรศัพท์อะไรประมาณนั้นมั้ง ไม่งั้นจะชื่อ hang up หรอ) หรือ connection หลุดจาก server ที่เราต่ออยู่ วิธีแก้ก็ง่ายแสนง่าย แทนที่โปรแกรม แรกจะเรียกโปรแกรมสองตามปกติ ก็เติมคำสั่ง nohup ไปข้างหน้าซะ signal นี้ก็จะไม่มากวนอีกต่อไป หรือ จะเขียนโปรแกรมที่สอง ให้ดัก signal [...]

Read full story Comments { 0 }

cgi-bin รูอันตรายที่โฮสท์ไทยมักเปิดไว้

เสาร์อาทิตย์ที่แล้วด้วยความอยากใช้ wget จัดเลยลองเขียน cgi ด้วยภาษาซีซะเลย เริ่มแรกก็ไปหาหนังสือมาดูก่อนว่าจะเริ่มยังไงดี เพราะไม่ได้เขียนนานมากหละ ก็ได้เล่มนี้ C++ How to Program ของ Deitel แต่เห็นในเว็บเป็นรุ่นที่ 6 แล้วแต่ที่มีอยู่เป็นรุ่นที่ 3 (เป็น text เล่มแรกที่ซื้อเลยนะเนี๊ยะ ) เริ่มมามันก็บอกให้เขียนโปรแกรม printf ธรรมดาเลย ได้โค้ดประมาณนี้ ไฟล์: hello.c #include <stdio.h> int main() { printf(“Content-Type: text/html\n\n”); printf(“<html>\n”); printf(“<body>\n”); printf(“<h1>Hello, world</h1>\n”); printf(“</body>\n”); printf(“</html>\n”); return 0; } ด้านบน compile แล้วเปลี่ยนชื่อไฟล์ที่ได้ออกมาเป็นอะไรก็ได้ .cgi $gcc hello.c -o hello.cgi แล้วไปวางไว้ที่ directory cgi-bin [...]

Read full story Comments { 1 }