@jsh/process
Since v8.0.52@jsh/process
모듈은 JSH 애플리케이션 전용으로 설계되었으며, 다른 JSH 모듈과 달리 TQL의 SCRIPT()
에서는 사용할 수 없습니다.
pid()
현재 프로세스의 PID를 반환합니다.
사용 형식
pid()
매개변수
없음.
반환값
프로세스 ID를 나타내는 숫자.
사용 예시
|
|
ppid()
부모 프로세스의 PID를 반환합니다.
사용 형식
ppid()
매개변수
없음.
반환값
부모 프로세스 ID를 나타내는 숫자.
사용 예시
|
|
args()
명령행 인자 목록을 반환합니다.
사용 형식
args()
매개변수
없음.
반환값
String[]
명령행 인자 배열.
사용 예시
|
|
cwd()
현재 작업 디렉터리를 반환합니다.
사용 형식
cwd()
매개변수
없음.
반환값
String
작업 디렉터리 경로.
사용 예시
|
|
cd()
현재 작업 디렉터리를 변경합니다.
사용 형식
cd(path)
매개변수
path
이동할 디렉터리 경로.
반환값
없음.
사용 예시
|
|
readDir()
지정한 디렉터리의 파일과 하위 디렉터리를 순회합니다.
사용 형식
readDir(path, callback)
매개변수
path
String
탐색할 디렉터리 경로입니다.callback
function(DirEntry): undefined|Boolean
콜백 함수입니다.false
를 반환하면 순회를 중단합니다.
반환값
없음.
사용 예시
|
|
DirEntry
속성 | 타입 | 설명 |
---|---|---|
name | String | 항목 이름 |
isDir | Boolean | 디렉터리 여부 |
readOnly | Boolean | 읽기 전용 여부 |
type | String | 파일 유형 |
size | Number | 크기(바이트) |
virtual | Boolean | 가상 항목 여부 |
print()
인자를 출력합니다. 로그 파일을 지정하지 않으면 stdout으로 기록됩니다.
사용 형식
print(...args)
매개변수
args
...any
출력할 가변 길이 인자입니다.
반환값
없음.
사용 예시
|
|
println()
인자를 출력하고 마지막에 줄바꿈을 추가합니다. 로그 파일을 지정하지 않으면 stdout으로 기록됩니다.
사용 형식
println(...args)
매개변수
args
...any
출력할 가변 길이 인자입니다.
반환값
없음.
사용 예시
|
|
exec()
다른 JavaScript 애플리케이션을 실행합니다.
사용 형식
exec(cmd, ...args)
매개변수
cmd
String
실행할 .js
파일 경로입니다.args
...String
대상 스크립트에 전달할 인자입니다.
반환값
없음.
사용 예시
|
|
daemonize()
현재 스크립트를 부모 PID가 1
인 데몬 프로세스로 전환합니다.
사용 형식
daemonize(opts)
매개변수
opts
Object
옵션 객체입니다.
속성 | 타입 | 설명 |
---|---|---|
reload | Boolean | 소스 변경을 감지해 자동 재시작을 활성화합니다. |
reload
가 true
이면 데몬 프로세스가 소스 변경 감시자를 함께 실행합니다.
메인 소스 파일이 수정되면 현재 데몬을 종료하고 즉시 재시작하여 변경 사항을 반영합니다.
개발 및 테스트에는 유용하지만 파일 감시에 추가 리소스가 필요하므로 운영 환경에서는 비활성화하는 편이 좋습니다.
반환값
없음.
사용 예시
|
|
isDaemon()
부모 PID(ppid()
)가 1
이면 true
를 반환합니다. 즉, ppid() == 1
조건과 같습니다.
사용 형식
isDaemon()
매개변수
없음.
반환값
Boolean
isOrphan()
부모 PID가 지정되지 않은 경우 true
를 반환합니다. 즉, ppid() == 0xFFFFFFFF
조건과 같습니다.
사용 형식
isOrphan()
매개변수
없음.
반환값
Boolean
schedule()
지정한 스케줄에 따라 콜백 함수를 실행합니다. 반환된 토큰에서 stop()
을 호출하기 전까지 흐름은 유지됩니다.
사용 형식
schedule(spec, callback)
매개변수
spec
String
스케줄 정의입니다. 타이머 스케줄 규칙을 참고하십시오.callback
(time_epoch, token) => {}
첫 번째 인자time_epoch
는 밀리초 단위의 UNIX 에포크입니다.
두 번째 인자token
은stop()
을 호출해 스케줄을 종료할 때 사용합니다.
반환값
없음.
사용 예시
|
|
sleep()
현재 흐름을 지정한 시간 동안 일시 중지합니다.
사용 형식
sleep(duration)
매개변수
duration
Number
대기 시간(밀리초)입니다.
반환값
없음.
사용 예시
|
|
kill()
지정한 PID를 가진 프로세스를 종료합니다.
사용 형식
kill(pid)
매개변수
pid
Number
종료할 대상 프로세스의 PID입니다.
반환값
없음.
사용 예시
|
|
ps()
현재 실행 중인 프로세스를 나열합니다.
사용 형식
ps()
매개변수
없음.
반환값
Object[]
[Process](#process)
객체 배열입니다.
사용 예시
|
|
Process
ps()
가 반환하는 프로세스 정보입니다.
속성 | 타입 | 설명 |
---|---|---|
pid | Number | 프로세스 ID |
ppid | Number | 부모 프로세스 ID |
user | String | 실행 사용자(예: sys ) |
name | String | 스크립트 파일 이름 |
uptime | String | 시작 이후 경과 시간 |
addCleanup()
현재 JavaScript VM이 종료될 때 실행할 콜백을 등록합니다.
사용 형식
addCleanup(fn)
매개변수
fn
()=>{}
종료 시 실행할 콜백입니다.
반환값
Number
removeCleanup()
호출에 사용할 토큰.
사용 예시
|
|
removeCleanup()
등록된 정리 콜백을 토큰으로 제거합니다.
사용 형식
removeCleanup(token)
매개변수
token
Number
addCleanup()
에서 반환된 토큰입니다.
반환값
없음.
사용 예시
|
|