2012-02-21 1 views
0

시작시 JAR 실행을위한 설치 기능을 구현해야하는 Java 응용 프로그램이 있습니다.UNIX 플랫폼의 시스템 시작 폴더/메소드?

REG 파일을 레지스트리에 입력하여 Window에서이 작업을 수행 할 수 있지만 UNIX 플랫폼에서이 작업을 수행하려면 어떻게해야합니까? Linux와 Mac은 방법이 다른 경우.

Linux 및 Mac에 시스템 시작 폴더가 있습니까?

이 작업은 프로그래밍 방식으로 시스템 환경 설정이나 그런 식으로하지 말아야한다는 것을 기억하십시오.

+0

를 시작하기 위해 실행하는 데 필요한 스크립트를 실행하기 위해 필요하십니까? – Gabe

+0

@Gabe는 SystemTray 아이콘을 등록하고 다음 작업이 언제 실행되는지 확인합니다. 그런 다음 일정 시간 동안 잠자기 후 나중에 다시 확인하십시오. 저가의 리소스를 현명하게 설계하려고 정말 열심히 노력하고 있습니다. 자바는 어렵다. 나는 자바를 좋아하지만 오랫동안 실행되는 백그라운드 작업은 그것이 빛나는 곳이 아닙니다. 이 부분을 수행하는 C 응용 프로그램을 만들고 싶었지만 Windows에서만 작동하며 트레이 아이콘을 만드는 방법을 알 수 없습니다. – bgroenks

답변

1

Linux에서는 적절한 /etc/rcN.d/ 디렉토리 (N은 '실행 수준'을 나타내는 숫자)에 스크립트를 추가하는 것이 일반적인 방법입니다. 여전히 권장되는 방법인지는 모르겠지만 일반적으로 여전히 지원됩니다. 이것은 다른 주요 유닉스 변종 (Solaris, HP-UX, AIX)의 사소한 변형에도 적용됩니다.

Mac에서는 더 열심히 작업해야합니다. /etc/rc.common, /etc/rc.imaging/etc/rc.netboot 파일은 관련되어 있지만 /etc/rcN.d 디렉토리는 없습니다. 스크립트 rcrc.local도 있습니다. man rc를 입력하면 알 :

DESCRIPTION

rc.local는 현재 지원되지 않으며 launchd에있는 행 (8) 작업을 읽어 launchctl (1) 부트 스트랩 부속 통해 스스로 부트 스트랩 launchd에 (8)로 대체 한 표준 위치.

launchd(8), launchctl(1) 

그래서, 당신은 launchctllaunchd, 특히 launchctl을 조사해야 참조하십시오.

+0

(launchctl, launchd, rc.common, ...) 파일 또는 디렉토리입니까? – bgroenks

+0

'launchctl'과'launchd'는 프로그램 ('man launchctl'과'man launchd' 참조) - 시작 데몬과 그 제어 프로그램입니다. 'rc.common' 등은 Mac의'/ etc /'에있는 파일이나 스크립트로, 이전 버전의 Mac OS X에서 업그레이드되었으므로 이월 될 수 있습니다. 그러나 아마도이 파일은 깨끗한 새 라이온 설치. –

0

Mac에서 나는 launchd이고, 리눅스는 init.d이라고 생각합니다. 그것들은 설정 파일입니다.

0

이것은 우분투에서하는 방법입니다.

먼저 java app를 실행하는 bash 스크립트를 작성하십시오.

#!/bin/bash 
java -jar "helloworld.jar" 

이 경우에는 /etc/init.d에 'HELLOWORLD'라고 저장하십시오.

그렇게

마지막으로
chmod +x HELLOWORLD 

은 당신이 시작할 때 할 수있는 프로그램이 무엇을 계획입니까 실행할

update-rc.d HELLOWORLD defaults 
+0

은 /etc/init.d 디렉토리입니까? – bgroenks

관련 문제