티스토리 뷰
OS에서는 system이 booting했을 때 생성되면서, shutdown될때까지 memory에 상주해있는 process들이 존재하는데, 이런 process들을 service라고 한다. 보통 어떤 service가 수행되는지를 확인하고자 할경우 /etc/init.d/을 살펴보면 된다.
몇가지 service 종류를 살펴보면
- bluetooth : bluetooth connection 관련 service
- cron : 일종의 task scheduler
- cups : printer handling
- halt : system shutdown command
- 등등..
참고로 여기서 실행되는 service 중에 rcS라는게 바로 run configuration script라고 해서 제일 먼저 실행되는 script이다. 그래서 보통 kernel porting을 할때 여기 script에 filesystem 같은 것을 mount하거나 다른 shell script 를 실행시키는 등의 작업을 수행하게 한다. 여기까지 왔다는 것은 드디어 user level에서 실행되는 service가 있다는 것을 의미하기 때문이다. 여기서 rcS 내용을 살펴보면 다시 rc 라는 파일을 실행하게 하는 명령구문이 들어있는데 이 끝을 따라가면 그 내부 코드에서 runlevel과 관련한 작업들이 수행되는 것을 알 수 있다.
아무튼 위의 init.d 폴더에 들어 있는 binary들이 모두 service들인데, 이 service의 동작을 제어할 수 있다. binary에 따라서 어떤 status를 가지고 있는지 혹은 멈추게 할 수도 있고, 다시 실행시킬 수 있다. 가령 이런 예를 들 수 있다. 어떤 iptable을 가지고 있는 상태에서 새로운 network에 접속했을때는 그 iptable이 mapping되도록 network service를 재시작해줘야한다. 그럴때 보통 service 명령을 사용해서 재시작하게 할 수 있다.
해당 service에서 어떤 명령들이 주어지는지를 확인하려면 위의 명령에서 restart전까지만 치고 수행하면 된다.
그러면 수행가능한 명령 list들이 나열되고 여기서 하나를 선택해서 수행하면 되는데, 위의 예는 cups의 status를 확인한 것이다. 이 결과로 우리는 cups service가 start되었고, 현재 running 상태로 있으며, pid 40669로 수행되고 있다는 것을 알 수 있다. 여기서 알 수 있는 것처럼 service도 일종의 process이며, unique한 pid를 가진다. 물론 kill 같은 명령어도 쓸 수 있다.
사실 service 명령 말고도 service의 동작을 제어할 수 있는 명령이 여러개 있다. 예를 들어서 invoke-rc.d, status, update-rc.d 같은게 그 역할을 대신할 수 있는데, 사실 쓰다보면 service만 가지고도 각 명령어들의 기능을 모두 수행할 수 있다는 것을 알 수 있다. 그냥 그런 명령어가 있구나 정도로만 알면 좋을듯 싶다.
'Study > Linux' 카테고리의 다른 글
[Linux] FHS를 이루는 폴더들 (2) (0) | 2016.04.27 |
---|---|
[Linux] FHS를 이루는 폴더들 (1) (0) | 2016.04.27 |
[Linux] Filesystem Hierarachy Standard(FHS) (0) | 2016.04.25 |
[Linux] SysVinit runlevel (0) | 2016.04.22 |
[Linux] init process (0) | 2016.04.21 |
[Bootloader] u-boot 로 qspi booting시 확인 사항 (zc706기준) (0) | 2015.12.16 |
[Linux] GPIO를 사용하는 subsystem driver (0) | 2015.10.13 |
- Total
- Today
- Yesterday
- 강화학습
- DepthStream
- Variance
- windows 8
- Kinect for windows
- 한빛미디어
- Pipeline
- PowerPoint
- Distribution
- ColorStream
- 딥러닝
- Off-policy
- Policy Gradient
- 파이썬
- Kinect
- SketchFlow
- End-To-End
- Expression Blend 4
- Windows Phone 7
- bias
- ai
- reward
- Kinect SDK
- Gan
- Offline RL
- RL
- arduino
- processing
- dynamic programming
- TensorFlow Lite
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |