@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)매개변수
pathString탐색할 디렉터리 경로입니다.callbackfunction(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)매개변수
optsObject옵션 객체입니다.
| 속성 | 타입 | 설명 |
|---|---|---|
| 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)매개변수
specString스케줄 정의입니다. 타이머 스케줄 규칙을 참고하십시오.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()에서 반환된 토큰입니다.
반환값
없음.
사용 예시
| |