<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Viết daemon trên Linux (1)</title>
	<atom:link href="http://www.openandfree.org/blog/?feed=rss2&#038;p=45" rel="self" type="application/rss+xml" />
	<link>http://www.openandfree.org/blog/?p=45</link>
	<description>There are 10 types of people in the world: Those who know the binary system and those who don&#039;t</description>
	<lastBuildDate>Tue, 24 Aug 2010 14:37:03 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: kiennguyen</title>
		<link>http://www.openandfree.org/blog/?p=45&#038;cpage=1#comment-2299</link>
		<dc:creator>kiennguyen</dc:creator>
		<pubDate>Sun, 14 Jun 2009 21:51:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.openandfree.org/blog/?p=45#comment-2299</guid>
		<description>Cuốn đó tên là Advanced nhưng nội dung thì rất basic :) Đó là cuốn sách rất tốt để tra cứu vì nó có gần như tất cả những gì liên quan đến Unix programming.

Công nhận lúc chưa đi làm là lúc tốt nhất để học. Đi làm rồi không còn thời gian đọc sách nữa.</description>
		<content:encoded><![CDATA[<p>Cuốn đó tên là Advanced nhưng nội dung thì rất basic <img src='http://www.openandfree.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Đó là cuốn sách rất tốt để tra cứu vì nó có gần như tất cả những gì liên quan đến Unix programming.</p>
<p>Công nhận lúc chưa đi làm là lúc tốt nhất để học. Đi làm rồi không còn thời gian đọc sách nữa.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: bronzeboyvn</title>
		<link>http://www.openandfree.org/blog/?p=45&#038;cpage=1#comment-2297</link>
		<dc:creator>bronzeboyvn</dc:creator>
		<pubDate>Sun, 14 Jun 2009 00:16:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.openandfree.org/blog/?p=45#comment-2297</guid>
		<description>cám ơn kiennguyen đã cho ít thông tin về SID, giúp mình hiểu tại sao cần gọi hàm setsid() ở đây. Cuốn Beginning Linux Programming mình lyện chưa thông, chuyển lên advanced dễ sock thuốc lắm. Dù gì có người nhắc bài thì luyện lẹ hơn. 
Cái cách nó nghĩ ra &lt;strong&gt;process group&lt;/strong&gt; thì mình cũng biết tại sao. 
/* 
Mọi thời điểm trong OS chỉ có 1 foreground job. Shell nó sẽ tạo mỗi &lt;strong&gt;process group&lt;/strong&gt; cho 1 job. Thường process group ID (gid = ID cua 1 trong những processes cha trong group. Còn lại trong nhóm là các processes con. Điều này thuận lợi cho việc gởi tín hiệu tới processes, ta có thể gởi 1 signal tới cả group. Ví dụ lệnh kill:
# kill -9 12345 // goi SIGKILL toi process 12345
#kill -9 -12345 // goi SIGKILL toi ca process group 12345.
Thuan loi khi ta don sach khoi he thong 1 job nao do
*/
Chứ còn nhóm các groups lại 1 sesion, thì mình không hiểu tại sao trong OS thiết kế như vậy.
Bắt đầu tuần này vua coi confederations cup, vua luyện cho xong cái POSIX thread. Chắc chắn sẽ có nhiều vấn đề cần giải thích thêm.</description>
		<content:encoded><![CDATA[<p>cám ơn kiennguyen đã cho ít thông tin về SID, giúp mình hiểu tại sao cần gọi hàm setsid() ở đây. Cuốn Beginning Linux Programming mình lyện chưa thông, chuyển lên advanced dễ sock thuốc lắm. Dù gì có người nhắc bài thì luyện lẹ hơn.<br />
Cái cách nó nghĩ ra <strong>process group</strong> thì mình cũng biết tại sao.<br />
/*<br />
Mọi thời điểm trong OS chỉ có 1 foreground job. Shell nó sẽ tạo mỗi <strong>process group</strong> cho 1 job. Thường process group ID (gid = ID cua 1 trong những processes cha trong group. Còn lại trong nhóm là các processes con. Điều này thuận lợi cho việc gởi tín hiệu tới processes, ta có thể gởi 1 signal tới cả group. Ví dụ lệnh kill:<br />
# kill -9 12345 // goi SIGKILL toi process 12345<br />
#kill -9 -12345 // goi SIGKILL toi ca process group 12345.<br />
Thuan loi khi ta don sach khoi he thong 1 job nao do<br />
*/<br />
Chứ còn nhóm các groups lại 1 sesion, thì mình không hiểu tại sao trong OS thiết kế như vậy.<br />
Bắt đầu tuần này vua coi confederations cup, vua luyện cho xong cái POSIX thread. Chắc chắn sẽ có nhiều vấn đề cần giải thích thêm.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kiennguyen</title>
		<link>http://www.openandfree.org/blog/?p=45&#038;cpage=1#comment-2296</link>
		<dc:creator>kiennguyen</dc:creator>
		<pubDate>Sat, 13 Jun 2009 22:29:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.openandfree.org/blog/?p=45#comment-2296</guid>
		<description>@bronzeboyvn: Bác Hoàng viết thế này thì đánh đố nhau quá :D Mình cũng ko hiểu rõ cái này lắm, nhưng sau một hồi nghiên cứu thì hình như là thế này:

- Trong Unix thì các process thường được nhóm lại với nhau thành các processes group.

- Các processes groups lại được nhóm lại thành các process sessions.

- Các process trong một session thì chia sẻ cùng một controlling terminal, thường là terminal người dùng sử dụng để khởi động process, và sau đó dùng để tương tác với các process (ví dụ ấn Ctrl-C để kill).

- Tuy nhiên 1 daemon thì không nên tương tác với người dùng thông qua terminal. Bởi vậy chúng ta dùng hàm setsid() để đưa daemon vào một session hoàn toàn mới không liên quan đến controlling terminal nào cả.

Mình tìm hiểu qua thì thấy như vậy, chi tiết thế nào chắc phải chờ tác giả bài viết vào trả lời :)

Bạn có thể search các từ khoá controlling terminal hay process group, process session hoặc xem trong chương 9 cuốn Advanced Programming in The Unix Environment của Stevens &amp; Rago.

Cheers!</description>
		<content:encoded><![CDATA[<p>@bronzeboyvn: Bác Hoàng viết thế này thì đánh đố nhau quá <img src='http://www.openandfree.org/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  Mình cũng ko hiểu rõ cái này lắm, nhưng sau một hồi nghiên cứu thì hình như là thế này:</p>
<p>- Trong Unix thì các process thường được nhóm lại với nhau thành các processes group.</p>
<p>- Các processes groups lại được nhóm lại thành các process sessions.</p>
<p>- Các process trong một session thì chia sẻ cùng một controlling terminal, thường là terminal người dùng sử dụng để khởi động process, và sau đó dùng để tương tác với các process (ví dụ ấn Ctrl-C để kill).</p>
<p>- Tuy nhiên 1 daemon thì không nên tương tác với người dùng thông qua terminal. Bởi vậy chúng ta dùng hàm setsid() để đưa daemon vào một session hoàn toàn mới không liên quan đến controlling terminal nào cả.</p>
<p>Mình tìm hiểu qua thì thấy như vậy, chi tiết thế nào chắc phải chờ tác giả bài viết vào trả lời <img src='http://www.openandfree.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Bạn có thể search các từ khoá controlling terminal hay process group, process session hoặc xem trong chương 9 cuốn Advanced Programming in The Unix Environment của Stevens &#038; Rago.</p>
<p>Cheers!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: bronzeboyvn</title>
		<link>http://www.openandfree.org/blog/?p=45&#038;cpage=1#comment-2295</link>
		<dc:creator>bronzeboyvn</dc:creator>
		<pubDate>Thu, 11 Jun 2009 21:40:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.openandfree.org/blog/?p=45#comment-2295</guid>
		<description>Mình không biết khái niệm Unique Session ID, mong mọi người giải thích cụ thể hay cho tài liệu (tự đọc) cung duoc.</description>
		<content:encoded><![CDATA[<p>Mình không biết khái niệm Unique Session ID, mong mọi người giải thích cụ thể hay cho tài liệu (tự đọc) cung duoc.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Viết daemon trên Linux (2)</title>
		<link>http://www.openandfree.org/blog/?p=45&#038;cpage=1#comment-76</link>
		<dc:creator>Viết daemon trên Linux (2)</dc:creator>
		<pubDate>Thu, 03 Jul 2008 06:37:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.openandfree.org/blog/?p=45#comment-76</guid>
		<description>[...] Bài viết này bổ xung một số vấn đề chưa được trình bày trong bài viết “Viết daemon trên Linux (1)” của anh [...]</description>
		<content:encoded><![CDATA[<p>[...] Bài viết này bổ xung một số vấn đề chưa được trình bày trong bài viết “Viết daemon trên Linux (1)” của anh [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kiên</title>
		<link>http://www.openandfree.org/blog/?p=45&#038;cpage=1#comment-72</link>
		<dc:creator>Kiên</dc:creator>
		<pubDate>Thu, 26 Jun 2008 08:53:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.openandfree.org/blog/?p=45#comment-72</guid>
		<description>Bác Hoàng viết nốt cách connect đến 1 daemon xem nào.</description>
		<content:encoded><![CDATA[<p>Bác Hoàng viết nốt cách connect đến 1 daemon xem nào.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
