프로세스(process)는 실행 중인 프로그램
$ ps
: 현재 시스템 내에 존재하는 프로세스들의 실행 상태를 요약해서 출력
$ ps -f
: 보다 자세한 정보를 보여줌
ps 명령어는 옵션을 사용하면 프로세스의 다양한 상태정보 출력 가능
$ -a
: 모든 사용자의 프로세스를 출력
$ -u
: 프로세스에 대한 좀 더 자세한 정보를 출력
$ -x
: 더 이상 제어 터미널을 갖지 않는 프로세스들도 함께 출력
$ -e
: 현재 시스템 내에 실행 중인 모든 사용자 프로세스 정보를 출력
$ -f
: 프로세스에 대한 좀 더 자세한 정보를 출력
$ ps -aux
➡ 모든 프로세스 정보 출력
$ pgrep [옵션] [패턴]
: 패턴에 해당하는 프로세스들만을 리스트$ -l
: PID와 함께 프로세스의 이름을 출력$ -f
: 명령어의 경로도 출력$ -n
: 패턴과 일치하는 프로세스들 중에서 가장 최근 프로세스만을 출력$ -x
: 패턴과 정확하게 일치되는 프로세스만 출력$ ps -ef | grep -w sshd
: 현재 서버에서 실행 중인 프로세스들 중에 sshd 단어가 포함된 프로세스들만 찾아서 보여줌쉘은 사용자가 입력한 명령어를 실행하기 위해 새로운 자식 프로세스를 생성하여 이 프로세스로 하여금 입력된 명령어(프로그램)을 실행하게 함
전면 처리 : 쉘 프로세스는 명령어를 입력받으면 자식 프로세스를 생성하고 이 자식 프로세스가 입력된 명령어를 실행하게 하고 쉘은 자식 프로세스의 실행이 끝날 때까지 기다림
$ sleep 초
: 명시된 시간만큼 쉘의 실행을 중지시킴
$ (echo 시작; sleep 50; echo 끝)
강제 종료
Ctrl+C
실행 중지
Ctrl+Z
$ fg
: 중지된 작업을 다시 전면에서 실행시킴$ fg %작업번호
: 작업번호에 해당하는 후면 작업을 전면 작업으로 전환bg %작업번호
: 작업번호에 해당하는 중지된 작업을 후면 작업으로 전환하여 실행출력 재지정을 이용해 후면 프로세스의 출력을 파일에 저장하거나 파이프를 이용해 메일로 보낼 수 있음
$ find . -name test.c -print > find.txt &
$ find . -name test.c -print | mail kwonjeong &
후면 프로세스가 입력을 받으려면?
$ 명령어 < 입력파일 &
$ kill 프로세스 번호
$ kill %작업번호
$ wait [프로세스 번호]
$ nohup 명령어 [인수] &
$ nice [-n 조정수치] 명령어 [인수들]
$ nice -n 10 ps -ef
: 우선순위 조정해 ps 명령어 실행$ renice [-n] 우선순위 [-gpu] PID
$ -g
: 해당 그룹명 소유로 된 프로세스$ -u
: 지정한 사용자명의 소유로 된 프로세스 의미$ -p
: 해당 프로세스의 PID 지정$ id [사용자면]
: 사용자의 실제 사용자 ID, 유효 사용자 ID, 그룹 ID 등을 보여줌$ chmod 4755 파일
$ chmod u+s 파일
$ chmod 2755
$ chmod g+s
kill -l
정의된 모든 가능한 시그널 리스트$ kill [-시그널] 프로세스번호
$ kill [-시그널] %작업번호