<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://trans.onionmixer.net/wiki/index.php?action=history&amp;feed=atom&amp;title=LazarusCompleteGuide%3A4.6</id>
	<title>LazarusCompleteGuide:4.6 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://trans.onionmixer.net/wiki/index.php?action=history&amp;feed=atom&amp;title=LazarusCompleteGuide%3A4.6"/>
	<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=LazarusCompleteGuide:4.6&amp;action=history"/>
	<updated>2026-05-02T12:40:27Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://trans.onionmixer.net/wiki/index.php?title=LazarusCompleteGuide:4.6&amp;diff=3140&amp;oldid=prev</id>
		<title>Onionmixer: LCG 4.6 페이지 추가</title>
		<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=LazarusCompleteGuide:4.6&amp;diff=3140&amp;oldid=prev"/>
		<updated>2013-02-19T13:29:16Z</updated>

		<summary type="html">&lt;p&gt;LCG 4.6 페이지 추가&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==서비스와 데몬==&lt;br /&gt;
&lt;br /&gt;
유닉스의 daemons 와 윈도우의 services 는 사용자와 직접 상호작용을 하지 않는 프로그램들이다. 그러한 애플리케이션들은 운영체제마다 다른 이름을 가진다. 데몬을 예로 들자면, http 와 ftp 서버가 되겠다. 사용자와 직접 통신하지 않기 때문에 시작 시 자신들의 stdin, stdout, stderr 채널을 닫는다. 라자루스 문서에서는 그러한 프로그램을 모두 데몬이라 부르며, 모든 플랫폼을 아우르는 용어로 사용한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
라자루스에서 플랫폼 독립적 데몬을 생성할 때는 lazadaemon 패키지를 사용하라. 데몬의 개발을 시작하기 전에 우선 Package→Open package file (.lpk) 또는 Lazarus/components/daemon/lazadaemon.lpk 파일을 열어 패키지를 설치해야 한다. 해당 패키지는 IDE에 일부 새 컴포넌트와 메뉴 엔트리를 설치할 것이다. 설치가 끝나면 File ⇒ New 대화창이 나타나면서 Daemon (service) applications 라는 새 엔트리와 Daemon (service) application, Daemon Module, Daemon mapper 라는 하위 엔트리가 나타날 것이다.&lt;br /&gt;
&lt;br /&gt;
[[image:lazarus_4.12.png|none|463px|thumb|그림 4.12: New... 대화창에 열린 데몬에 대한 새 엔트리]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 1px solid black;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;color: white; background-color: black;&amp;quot;&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;엔트리&amp;#039;&amp;#039;&amp;#039;||&amp;#039;&amp;#039;&amp;#039;기능&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
|데몬 (서비스) 애플리케이션||해당 엔트리는 새 데몬 프로그램을 생성하고 그에 대해 TDaemon 과 TDaemonMapper 인스턴스를 자동으로 등록한다.&lt;br /&gt;
|-&lt;br /&gt;
|데몬 모듈||데몬 및 데몬 매퍼 클래스에 대한 등록 프로시저가 자동으로 추가될 것이다. 새 TDaemon 인스턴스를 생성한다.&lt;br /&gt;
|-&lt;br /&gt;
|데몬 매퍼(mapper)||새 TDaemonMapper 인스턴스를 생성한다. 이 옵션이 사용되는 경우가 드문 것은 각 데몬 프로그램은 하나의 매퍼만 가질 수 있는데 새 데몬 애플리케이션이 생성될 때마다 자동으로 하나가 추가되기 때문이다. 두 번째 매퍼가 등록되면 오류를 발생할 것이다.&lt;br /&gt;
|- style=&amp;quot;color: black; background-color: gray;&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |표 4.8: File ⇒ New... 대화창에 표시되는 데몬 엔트리&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 1px solid black;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;color: white; background-color: black;&amp;quot;&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;클래스&amp;#039;&amp;#039;&amp;#039;||&amp;#039;&amp;#039;&amp;#039;설명&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
|TCustomDaemon||TDataModule 자손으로 모든 일을 처리한다. 다중 쓰레드(multi-threaded) 데몬과 관련해 동시에 같은 프로세스로TCustomDaemon 클래스와(또는) 인스턴스가 여러 개 실행될 수도 있다.&lt;br /&gt;
|-&lt;br /&gt;
|TCustomDaemonApplication||TCustomApplication 자손으로, TCustomDaemons 를 생성한다. 변경할 필요 없다. 윈도우에서는 Stop 호출을 받을 때까지 실행되고, 리눅스에서는 TERM 신호를 받을 때까지 실행된다. 10.2 POSIX 신호 및 예외와 관련된 장을 참고하라. &lt;br /&gt;
|-&lt;br /&gt;
|TDaemonMapper||해당 컴포넌트는 서비스 등록을 처리한다. 각 인스턴스는 DaemonDefs 프로퍼티에 하나의 엔트리를 필요로 한다.&lt;br /&gt;
|- style=&amp;quot;color: black; background-color: gray;&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |표 4.9: 라자루스의 데몬 클래스&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
리눅스에서 데몬은 주로 /etc/init.d/service 내 스크립트에 의해 시작된다. 이 스크립트는 시작, 중지, 일시정지 등 필요 시 파라미터를 전달한다. 하지만 BSD에서는 다른 방식으로 처리된다. 여기선 /etc/rc.d/ 또는 /usr/local/etc.d/ 내부의 스크립트와 /etc/rc.conf 내의 엔트리, 아니면 /etc/rc.local 내의 정의에 의하여 RC 메커니즘을 통해 로딩된다. 관리자는 어떤 메소드를 사용할 것인지 결정한다. 두 방법 중 어떤 방법이든 서비스는 사용자에게 연락할 수 없으며, 서비스의 구성은 /etc 또는 (BSD의 경우) /usr/local/etc 내 파일을 통해서만 설정될 수 있다. 윈도우의 경우, Apache HTTP 서버와 같이 많은 서비스들이 시스템 트레이에 아이콘을 위치시킨다. 윈도우에서 서비스를 제어하는 또 다른 방법은 제어판 애플릿을 통한 방법이다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
사용여부와 상관없이 시스템 트레이 아이콘은 매우 유용하다. 사용자가 서비스를 시작 및 중지하도록 해주며, 구성을 변경하거나 도움말 정보로 접근을 허용하기도 한다. 라자루스에서 데몬을 생성할 때는 창에 TTrayIcon 컴포넌트를 위치시켜 이러한 옵션들을 사용할 수 있다. TTrayIcon 은 컴포넌트 팔레트의 Additional 탭에서 찾을 수 있다. 서비스 구현은 주의를 기울여 처리해야 한다. 윈도우 비스타의 경우, 데몬은 더 이상 데스크톱과 직접 상호작용을 할 수 없다. 따라서 데몬과 제어 프로그램은 구분된 실행 파일에 위치해야 한다. 윈도우를 시작하기 전에 데몬을 등록해야 한다는 점도 중요하다. 라자루스 클래스 TCustomDaemonApplication 을 기반으로 한 데몬은 명령 행 옵션 -I 를 이용해 프로그램을 시작함으로써 등록할 수 있다. 등록을 해제할 때는 -u 를 이용해 호출한다. 보통 -i 를 이용한 호출은 설치 프로그램에 의해 실행되고, -u 를 이용한 호출은 제거 프로그램(de-installer)으로 이루어진다. 설치가 끝나면 -r 를 이용해 프로그램을 호출하여 서비스를 시작할 수 있다. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:LazarusCompleteGuide]]&lt;/div&gt;</summary>
		<author><name>Onionmixer</name></author>
	</entry>
</feed>