클라우드 with AWS/Linux
알아두면 편리한 linux 명령어 8 (프로세스 & 서비스)
정민됴
2023. 3. 2. 21:45
명령이 실행되면 $PATH에서 그 명령이 있는지 없는지 찾게 된다.
기본적으로는 usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin 여기서 먼저 찾게 되는데 만약에 이 경로 외의 명령을 실행시키고 싶은 경우 사용자가 직접 PATH에 등록시켜주어야한다.
# PATH=$PATH:/testdir
# echo $PATH
위 처럼 PATH에 등록한다면 컴퓨터를 종료시키고 다시 켰을 때는 다시 등록이 되어있지 않다.
그렇다면 PATH에 영구 등록시키려면 어떻게 해야할까??
바로 /etc/profile 혹은 ~/.bash_profile에 PATH=$PATH:$HOME/bin:/<원하는 디렉토리>
를 추가해주면 된다.
/etc/profile을 수정하면 모든 사용자에게 적용되고, ~/.bash_profile을 수정하면 해당 사용자에만 적용된다.
프로세스란?
- 실행 중인 프로그램을 의미
- 프로세스 ID (PID)로 식별
- ps (-ef)혹은 top(3초 간격으로 갱신)으로 확인할 수 있음
- 특정한 프로세스만 찾고 싶다면 ps -ef | grep <process 이름> 하면 됨
kill
- 실행 중인 프로세스를 종료할 때 사용
- 예를들어 9000번 포트에 서버를 올리고 싶은데 이미 9000번에 돌아갈 경우 그 때 돌아가고 있는 서버를 죽일 때도 사용
- kill -9 즉시 종료를 많이씀!
cron/at
at
- at은 일회성 작업을 예약하는 명령어
이렇게 하면 내일 새벽 2시에 최신 패키지로 업데이트 하고 재부팅된다.# at 02:00 am tomorrow yum -y update shutdown -r +5 => 입력 후 [Ctrl + D].
cron
- 주기적으로 반복되는 작업을 예약
- /etc/crontab 에서 설정
# vi /etc/crontab 00 02 1 * * root shutdown -r now => 4번째 *는 매월을 의미. 즉 매월 1일 새벽 2시 00분에 리부트 수행.
systemctl
- systemctl
ex) systemctl start nginx - 서비스의 상태 확인, 시작, 중지, 재시작, 활성화, 비활성화 등 subcommand를 같이 사용한다.
- 컴퓨터 전체를 다시 껐다 켜면 서버가 진짜 무거운 경우 제대로 작동이 안될 수도 있음
-> 특정 서비스만 다시 시작하면 됨