Linux에서 백그라운드로 자동으로 실행하게끔 service를 등록할 수 있다.

현재 등록된 service 목록은 /etc/systemd/system 경로에 *.service 파일을 보면 확인 할 수 있다.


systemd는 Linux의 init system 중 하나로,

init system을 사용하는 가장 기본적인 이유는 Linux system 이 부팅 된 다음 User영역의 Component를 initialize 하기 위함이다.

또한 백그라운드에서 동작하는 daemon이나 서비스를 관리하기 위함이다.

간단하게, /etc/init.d 경로에 있는 script 등은 System V init, /etc/systemd/system 경로에 있는 *.service는 systemd 라고 생각하면 된다.


가장 간단하게 systemd를 추가하는 방법은 아래와 같은 파일을 /etc/systemd/system 경로에 추가 하면 된다.

파일 이름은 <service_name>.service

[Unit]

Description=<Description of your own service>

After=network.target


[Service]

ExecStart=<File would be executed with this service>


[Install]

WantedBy=multi-user.target

Description: 해당 service에 대한 설명으로, systemctl status로 확인 할 때 가장 첫 줄에 표현된다.

ExecStart: 실행할 파일의 절대경로

※위의 ExecStart 로 표기된 파일은 ./<file> & 와 비슷한 방식으로 구동되기 때문에, 실행되는 파일의 첫 줄에 해당 파일을 실행할 shell을 나타내는 shebang(#!)을 포함해줘야 한다.


<service_name.service 파일을 추가 한 후에는,

$ sudo systemctl daemon-reload

를 통해 새로운 모듈을 load 하고,

시작, 정지, 상태 확인은 아래와 같은 명령어로 할 수 있다.

$ sudo systemctl start <service_name>

$ sudo systemctl stop <service_name>

$ sudo systemctl restart <service_name>

$ sudo systemctl status <service_name>

부팅 시 자동으로 실행되게 하기 위해서는 아래와 같이 enable 하면 된다.

$ sudo systemctl enable <service_name>

$ sudo systemctl disable <service_name>


참조: https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-systemd-services-and-units



'Programming > Linux' 카테고리의 다른 글

Ctags  (0) 2018.07.03
scp  (0) 2018.05.29
Linux tar, gz, bz2  (0) 2018.04.25
Linux HDD mount  (0) 2018.04.06
HandBrakeCLI  (0) 2018.04.06

다이어트, 시험공부, 청소...

내일부터, 다음에는, 다음에...


다음에는 최고의 핑계일 뿐

'Life > A sentense of the day' 카테고리의 다른 글

정답이 없다  (0) 2018.05.28
근묵자흑  (0) 2018.05.23
피아  (0) 2018.04.10
  (0) 2018.04.09
어느날 문득  (0) 2018.04.02

Linux 압축 하기/압축 풀기


Tape Archive

tar은 Tape Archive 의 약자로, 옛날부터 Tape 드라이브를 백업하기 위해 사용했다고 한다. tarball 이라고 불리기도 한다고 한다.

tar은 압축을 옵션으로 줄 수 있는데, gzip 으로 압축을 하면 tar.gz 파일이, bzip2로 압축하면 tar.bz2 가 생성된다.

tar command의 (사실은 상당히 많은 옵션을 가지고 있지만) 기본적인 옵션은 아래와 같다.

c : Create a new .tar file

v : Verbosely show the pregress

f : File name

x : Extract

t : List content

z : for gzip

j : for bzip2


간단 사용예

tar 압축 하기

$ tar -cvf <output_file_name>.tar <input_folder>

tar 압축 풀기

$ tar -xvf <input_file_name>.tar 

tar.gz 압축 하기

$ tar -zcvf <output_file_name>.tar.gz <input_folder>

tar.gz 압축 풀기

$ tar -zxvf <input_file_name>.tar.gz 

tar.bz2 압축 하기

$ tar -jcvf <output_file_name>.tar.bz2 <input_folder>

tar.bz2 압축 풀기

$ tar -jxvf <input_file_name>.tar.bz2 


보다 자세한 내용은, https://www.tecmint.com/18-tar-command-examples-in-linux/ 참조

'Programming > Linux' 카테고리의 다른 글

scp  (0) 2018.05.29
Systemd Service  (0) 2018.05.04
Linux HDD mount  (0) 2018.04.06
HandBrakeCLI  (0) 2018.04.06
Linux sed  (0) 2018.02.05

+ Recent posts