RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR

출처 : 대전국제IT교육센터 정성재 강사

 

1. 프로세스(Process) 관리
(1) 개요 : 리눅스는 한번에 수백개이상의 프로그램을 동시 수행할 수 있다. 이러한 하나하나의
           프로그램을 프로세스라 부르며 내부적으로 번호가 붙어 관리된다. 프로세스는 크게 두
           가지로 나눌 수 있는데, 사용자의 입력에 관계없이 실행되는 background process와 입력
           후 수행종료까지 기다리는 foreground process가 있다.
(2) 프로세스의 종류
   1) 포그라운드(Foreground) 프로세스
    ㄱ. 설명: 일반적으로 쉘상태에서 명령을 내리면 해당 프로세스가 종료될 때까지 기다려야 한다.
             이러한 프로세스를 포그라운드 프로세스라 한다.
    ㄴ. 사용예
       [posein@www posein]$ find / -name '*.txt' 2>/dev/null > list.txt
        => 이 경우 find 결과가 list.txt라는 파일에 저장할 때까지 사용자는 다른 작업을 할 수
          없게 된다.
  2) 백그라운드(background) 프로세스
    ㄱ. 설명: 기존의 포그라운드 명령뒤에 '&'를 붙인다.
    ㄴ. 사용예
       [posein@www posein]$ find / -type d 2>/dev/null > list.txt &
       [1] 1742
         => 여기서 [1]은 작업번호(job number)이고, 1742는 PID(Process ID)이다.
(3) 작업수행의 전환
   1) background --> foreground : background로 수행될 때 'fg'라고 명령을 내리면 전환된다.
   2) foreground --> background : [CTRL] + [Z] (suspend 모드)를 눌러 작업을 일단 중지시킨뒤
                                 'bg' 라고 명령을 내린다.
       (참고) 인터럽트키
             [CTRL] +[C] : 작업취소
             [CTRL] +[D] : 작업 정상 종료
             [CTRL] +[Z] : 작업 대기
(4) 현재 작업중인 process의 확인 : 'jobs'라고 명령을 내리면 된다. + 기호로 표시된 작업이 먼저
                                   실행되는 job이고 -기호가 그다음이다.
(5) process를 중지시키기 : kill명령을 이용하여 중지, 종료 등을 할 수 있다.
   1) 사용법
     kill %job_number
   2) 사용예
     ㄱ. 작업의 중지
        kill %1
         => job번호가 1인 작업을 중지 시킨다.
     ㄴ. 작업의 강제종료시키기
        kill -9 %1 => job번호가 1인 작업을 강제 종료시킨다.
     (참고) kill 명령은 job번호와 PID(process ID)모두 사용가능하다. job번호는 앞에 %를 붙여서
           구분하고 PID인 경우에는 그냥 번호만 쓴다.

2. 관련명령어
(1) ps(process status)
   1) 설명: 현재 프로세스들의 상태를 PID(Process ID)와 함께 보여준다. 리눅스에서는 사용자와
           파일 뿐만아니라 프로세스도 번호로 관리한다.
   2) 사용법
     ps [option(s)]
   3) option
     -a : 다른 사용자에 의해서 생성된 프로세스들도 보여준다. (u,x옵션과 연계해서 사용한다.)
     -u : 프로세스의 소유자에 대한 정보 등 매우 자세하게 보여준다.
     -l : 프로세스의 정보를 옆으로 길게 보여준다. (우선순위값과 관련된 PRI와 NI값을 확인할 수
         있다.
     -x : daemon process등 터미널의 컨트롤과 관련이 없는 프로세스도 보여준다. 일반적으로 말하
         는 데몬프로세스도 보여준다. 보통 ps명령을 실행하면 현재 Shell의 자식 프로세스들만
         보여주는데, 이 옵션으로 다른 프로세스들도 볼 수가 있다. (BSD계열)
          System V계열인 경우에는 -x대신에 -e를 사용할 수 있고, -u 대신에 -uf옵션을 사용할 수
         있다.
     -e : 해당 프로세스에 관련된 환경변수 정보를 함께 출력한다.
     -f : 프로세스 간의 상속관계를 보여준다.(PID, PPID값이 표시된다.)
     (참고2) daemon process
    daemon process란 daemon(악마)처럼 앞에 나타나지 않고 사용자가 모르게 뒤에서 시스템의 관리
    를 위해 움직이는 프로세스를 말한다. 보통 시스템이 부팅이 될 때 자동적으로 실행이 된다.
    ftpd, inetd, lpd, nfsd 등이 있다.
   4) 사용예
     ㄱ. [posein@www posein]$ ps
         PID TTY          TIME CMD
         23563 pts/0    00:00:00 bash
         23594 pts/0    00:00:00 ps
     ㄴ. ps -au
          => 현재 시스템상의 process들 중 터미널과 관련이 있는 모든 process들을 소유자 정보와
            함께 보여준다.
     ㄷ. [posein@www posein]$ ps -aux |more
         USER       PID %CPU %MEM   VSZ  RSS TTY      STAT START   TIME COMMAND
         root         1  0.0  0.1  1368  548 ?        S    May02   0:04 init [3]
         root         2  0.0  0.0     0    0 ?        SW   May02   0:00 [keventd]
          => 현재 시스템상에서 움직이고 있는 모든 process들을 소유자의 정보와 함께 보여준다.
     ㄹ. [posein@www posein]$ ps -ef |more
         UID        PID  PPID  C STIME TTY          TIME CMD
         root         1     0  0 May02 ?        00:00:04 init [3]
         root         2     1  0 May02 ?        00:00:00 [keventd]
          => sysV 계열에 사용하는 옵션형태로 내용은 위와 비슷하다. 참고로 ps옵션에서 BSB계열
            의 -aux와 SYSTEM V계열의 -ef옵션은 거의 유사하다. 리눅스에서는 현재 이 두계열의
            옵션 모두 지원한다.
     ㅁ. [posein@www posein]$ ps -aux |grep sendmail
         root       743  0.0  0.4  5580 2208 ?        S    May09   0:04 sendmail: accepti
         smmsp      753  0.0  0.3  4852 1900 ?        S    May09   0:00 sendmail: Queue r
          => 현재 시스템상의 프로세스중 sendmail의 프로세스를 보여준다.
     ㅂ. [posein@www posein]$ ps -aux |grep posein
         root     27264  0.0  0.2  2216 1152 ?        S    21:39   0:00 login -- posein
         posein   27265  0.0  0.2  5496 1432 pts/0    S    21:39   0:00 -bash
         posein   27398  0.0  0.1  2700  732 pts/0    R    21:50   0:00 ps -aux
          => 현재 시스템상의 프로세스중 posein 이라는 사용자의 프로세스를 보여준다.
   5) ps상태보기
     USER : BSD 계열에서 나타나는 항목으로 프로세스 소유자의 USERNAME
     UID : SYSTEM V계열에서 나타나는 항목으로 포로세스 소유자의 USERNAME
     PID : 프로세스의 식별번호
     %CPU : CPU사용비율의 추정치(BSD)
     %MEM : 메모리 사용비율의 추정치(BSD)
     VSZ : K단위 또는 페이지 단위의 가상메모리 사용량
     RSS : 실제 메모리 사용량. Resident Set Size
     TTY : 프로세스와 연결된 터미널
     STAT : 현재 프로세스의 상태
      - 값
        R : 실행 중 혹은 실행될 수 있는 상태
        S : sleep상태 (보통 20초이상된 상태)
        I : idle(비활동상태 : BSD, 중간적상태 : sysV) (보통 20초이하의 대기상태)
        T : 정지된 상태(suspend)
        Z : 좀비(zombie)프로세스
        D : 디스크 관련 대기상태(BSD)
        P : 페이지 관련 대기상태(BSD)
        X : 메모리 확보를 위한 대기 상태(sysV)
        K : 사용가능한 커널 프로세스(AIX)
        W : 스왑 OUT된 상태
        N : nice되어진 상태
        > : 우선순위가 인위적으로 높아진 상태
     START : 프로세스 시작 시간 또는 날짜
     TIME : 총 CPU사용시간
     COMMAND : 프로세스의 실행 명령행
     STIME(sysV) : 프로세스가 시작된 시간 혹은 날짜
     C(sysV), CP(BSD) : 짧은 기간 동안의 CPU사용률
     F : 프로세스의 플래그들
     PPID : 부모 프로세스의 PID
     PRI : 실제 실행 우선 순위
     NI : nice 우선순위 번호
     WCHAN : 프로세스를 기다리고 있는 이벤트
     PLAGS : 프로세스와 관련된 숫자 값

(2) kill
   1) 설명: 프로세스에 특정한 signal을 보내는 명령이다. 보통 실행중인 프로세스에 종료 신호를
           보낸다. 보통 중지시킬 수 없는 프로세스를 종료시킬때 많이 사용한다.
   2) 사용법
     kill [option] [-시그널번호 or -시그널이름] PID
      => kill 명령 뒤에 어떤 프로세스의 PID(Process ID)를 적어주면 그 프로세스에 종료시그널을
        보내게 된다. 보통의 경우 종료시킬 수 있으며, 만약에 종료되지 않으면 9를 signal_number
        에 써 줌으로써 강제로 종료시킬 수 있다.
     kill [option] [-시그널번호 or -시그널이름] %작업번호
   3) option
     -l : 시그널의 종류를 나열한다. 시그널의 종류는 시그널 번호순서대로 나열한다.
   4) signal_number와 이름
     1 SIGHUP(HUP) : hang up의 약자로 프로세스를 재시작시키는 시그널이다.
     2 SIGINT(INT) : 인터럽트. 실행을 중지시킨다. [CTRL] + [C] 를 눌렀을 때 보내지는 시그널
                    이다.
     3 QUIT : 실행중지.
     9 SIGKILL(KILL) : 무조건 종료, 즉 강제 종료시키는 시그널이다.
     15 SIGTERM(TERM) : Terminate의 약자로 가능한 정상 종료시키는 시그널로 kill 명령의 기본
                       시그널이다.
     18 CONT : Continue. STOP등에 의해 정지된 프로세스를 다시 실행시킨다.
     19 STOP : 무조건적, 즉각적 정지
     20 TSTP : 실행 정지후 다시 실행을 계속하기 위하여 대기시키는 시그널이다. [CTRL] +[Z] 를
              눌렀을 때 보내지는 시그널이다.

   5) 참고
     kill -l 이라고 써주면 signal_number에 보내줄 수 있는 시그널의 종류들을 보여주며, signal_
    number에 숫자 대신에 직접 이름을 써 주어도 된다. man 을 참조하려면 man 7 signal 하면 된다.
   6) 사용예
     ㄱ. kill -l
          => 시그널의 종류를 나열한다.
     ㄴ. kill 724
          => 724번 프로세스에 디폴트시그널인 15번 시그널을 보낸다.
            같은 명령으로 'kill -15 724', 'kill -TERM 724'등이 있다.
     ㄷ. kill -9 756 757 758
          => pid가 756, 757,758인 프로세스를 중단한다. 'kill -KILL PID', 'kill -SIGKILL PID'
            라고 명령내려도 된다.
     ㄹ. kill -HUP 10118
          => pid가 10118인 프로세스를 재시작한다. 'kill -1 10118'과 같다.
     ㅁ. kill %2
          => 작업번호가 2인 프로세스를 종료시킨다.
   7) 프로세스 종료시 유의점
     프로세스를 종료시에는 [CTRL] +[C]나 기본시그널인 TERM 시그널(-15)로 정상적으로 종료를
    시도하는 것이 좋다. 그래도 프로세스가 종료가 안되면 KILL 시그널(-9)을 사용하면 된다.

(3) killall
   1) 설명: 같은 데몬의 여러 프로세스를 한번에 죽이는 경우에 사용한다. Killall은 프로세스이름
           으로 프로세스를 종료시킨다.
   2) 사용법
     killall [option] 프로세스명
   3) option
     -HUP : 재시작한다.
   4) 사용예
     ㄱ. killall httpd
          => Apache 웹서버 데몬을 모두 종료한다.
     ㄴ. killall mysqld
          => mysql 데몬을 모두 종료한다.
     ㄷ. killall -HUP xinetd
          => xinetd 데몬을 다시 실행시킨다.

(4) pstree
   1) 설명 : 프로세스들을 계층적인 트리구조 형태로 출력해준다.
   2) 사용법
     pstree [option]
   3) option
     -a : 각 프로세스의 명령행 인자까지 보여준다.
     -h : 현재 프로세스와 그것의 조상 프로세스를 하이라이트로 강조해서 보여준다.
     -n : PID 값으로 정렬해서 보여준다. 기본값은 이름으로 출력한다.
     -p : PID 값을 같이 보여준다.
   4) 사용예
     [posein@www posein]$ pstree
     init-+-apmd
          |-atd
          |-automount
          |-bdflush
          |-crond---crond---run-parts---awk
          |-eth0
          |-eth1
          |-gpm
          |-httpd---10*[httpd]
      => (결과설명)
        최초로 실행되는 프로세스인 init가 왼쪽 상단에 나타나며 자식 프로세스는 오른쪽에 위치
       한다. 또한 프로세스앞에 n*은 실행되고 있는 프로세스의 갯수이다.

(5) top
   1) 설명: 현재시스템의 프로세스 상태를 연속적으로 화면에 보여준다.
   2) 사용법
     top [option]
   3) option
     -d 갱신시간 : 화면 갱신시간을 설정
     -q : 화면을 계속 갱신한다.
     -i : idle상태와 zombie 프로세스를 무시한다.
   4) 사용예
     [root@www root]# top
       1:17am  up 1 day, 13:06,  3 users,  load average: 0.00, 0.00, 0.00
     68 processes: 66 sleeping, 2 running, 0 zombie, 0 stopped
     CPU states:  0.0% user,  0.0% system,  0.0% nice, 100.0% idle
     Mem:   513064K av,  363976K used,  149088K free,       0K shrd,  161724K buff
     Swap:  265032K av,       0K used,  265032K free                   49916K cached

       PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME COMMAND
         1 root       8   0   544  544   472 S     0.0  0.1   0:04 init
         2 root       8   0     0    0     0 SW    0.0  0.0   0:00 keventd
         3 root       9   0     0    0     0 SW    0.0  0.0   0:00 kapm-idled
         4 root       9   0     0    0     0 SW    0.0  0.0   0:00 kswapd
         5 root       9   0     0    0     0 SW    0.0  0.0   0:00 kreclaimd
   5) top 항목설명
     PID : Process ID
     PPID : Parent Process ID
     UID : 소유자의 User ID
     USER : 소유자
     PRI : Priority(우선순위)
     NI : Nice Value ( -20 ~ 19 사이의 값으로 작을 수록 우선순위가 높아짐)
     SIZE : 프로세스의 코드와 데이터의 크기(KB단위)
     TSIZE : 프로세스의 코드 사이즈
     DSIZE : 프로세스의 데이터 사이즈
     SWAP : 프로세스가 swap한 메모리양
     RSS : 프로세스가 사용하는 실제 메모리양
     SHARE : 프로세스가 사용하는 공유 메모리의 양'
     STAT : 현재 프로세스의 상태를 나타낸다.
     LIB : 라이브러리 페이지의 크기
     %CPU : CPU 사용 시간 퍼센트
     %MEM : 메모리 사용 퍼센트
     TIME : 프로세스가 시작하여 사용한 총 CPU 시간
     COMMAND : 프로세스를 실행한 명령어 라인
   6) top 실행 중의 명령어 옵션
     SPACE : 화면을 갱신한다.
     h, ? : 도움말을 출력한다.
     k : kill명령을 내린다. PID값을 입력하면 종료신호를 보낸다.
     i : Zombi, idle 프로세스의 출력을 on/off한다.
     n 또는 # : 출력한 프로세스의 수를 지정한다.
     q : top을 종료
     r : Nice 값을 변경
     s : 화면을 갱신하는 시간을 변경
     F,f : 보여줄 항목을 추가하거나 삭제
     O,o : 보여줄 항목의 순서를 바꿈
     l : top의 맨 윗줄(uptime)을 on/off한다.
     m : 메모리의 관련된 항목을 on/off한다.
     t : 프로세스와 CPU항목을 on/off한다.
     c : Command line의 옵션을 on/off한다.
     M : 프로세스의 RSS값을 정렬한다.
     P : %CPU 값으로 정렬(기본값)
     T : Time값으로 정렬
     W : 바꾼 설정을 저장

(6) jobs
   1) 설명 : 백그라운드로 실행중인 프로세스나 현재중지된 프로세스의 목록을 출력해주는 명령어
            이다.
   2) 사용법
     jobs [option]
   3) option
     -l : 프로세스번호를 추가해서 보여준다.
   4) 사용예
     ㄱ. [posein@www posein]$ jobs
         [1]-  Running                 find / -name '*.txt' 2>/dev/null >list.txt &
         [2]+  Stopped                 vim abc.txt
          => +는 현재 실행중인 프로세스를 나타내고 -기호는 이전에 실행되었던 프로세스를 의미한
           다.
     ㄴ. [posein@www posein]$ jobs -l
         [1]- 27832 Running                 find / -name '*.txt' 2>/dev/null >list.txt &
         [2]+ 27833 Stopped (tty output)    vim abc.txt
           => 프로세스번호도 같이 보여준다. 위 결과는 find 라는 작업이 먼저 수행되었고 그 다음
             vi작업이 실행되었다. 현재 수행중인 작업은 vi 이다. 즉 이 경우에 fg라고 명령내리면
              작업번호 2가 수행된다.

(7) fg
   1) 설명 : 백그라운드 프로세스를 포그라운드 프로세스로 전환하는 명령이다.
   2) 사용법
     fg [%작업번호]
   3) 사용예
     ㄱ. [posein@www posein]$ fg
           => 백그라운드 작업을 포그라운드작업으로 전환한다. 만약 백그라운드작업이 여러개가
             있을 경우 별도의 작업번호를 부여하지 않으면 현재 수행중인(+기호가 붙은) 작업을
             전환한다.
     ㄴ. [posein@www posein]$ fg %2
           => 작업번호 2번인 작업을 포그라운드작업으로 전환한다.
   4) 참고 : 포그라운드로 실행중인 작업을 끝내려면 ctrl+c키를 눌러 작업을 종료시킨다.

(8) bg
   1) 설명 : 포그라운드프로세스를 백그라운드 작업으로 전환하는 명령이다. 프로세스를 실행한 후
            [CTRL]+[Z]키를 눌러 작업을 잠시 중지시킨 후에 bg명령어를 이용하여 작업을 백그라운
            드로 보낼 수 있다.
   2) 사용법
     bg [%작업번호]
   3) 사용예
     [posein@www posein]$ find / -name '*.txt' 2>/dev/null > list.txt     // 포그라운드
     // [CTRL]+[Z]키를 눌러 대기시킨다.
     [1]+  Stopped                 find / -name '*.txt' 2>/dev/null >list.txt  

     [posein@www posein]$ bg
     [1]+ find / -name '*.txt' 2>/dev/null >list.txt &
       => 백그라운드로 전환된다.

(참고) 프로세스 우선순위
   멀티태스킹(Multi-Tasking)이란 한 시스템에서 여러 개의 프로세스가 작동되는 것을 말한다.
  리눅스에서 이러한 작업은 프로세스 스케줄러가 정해진 시간만큼만 CPU를 사용할 수 있도록 프로
  세스를 교체시키기 때문이다. 프로세스에는 일정한 순서를 나타내는 우선순위가 있다. 이 우선순위
  를 나타내는 것이 priority와 nice값이다. 이 값은 ps -l로 확인할 수 있다. PRI는 프로세스의
  실제 우선순위로 리눅스가 계산하여 부여한다. 이 PRI를 부여할 때 NI값이 고려된다. NI는 PRI값에
  영향을 주기 위해 프로세스 소유자나 슈퍼유저가 설정한 번호로 nice명령을 이용하여 그 값을 설정
  할 수 있다.

(9) nice
   1) 설명 : 프로세스의 우선순위를 변경하는 명령으로 NI값을 설정할 수 있다. NI값은 -20 ~ 19
            까지 있는데 값이 작을 수록 우선순위가 높다. 일반 사용자는 NI값을 증가시킬 수밖에
            없고 루트권한자는 값을 감소시켜 우선순위를 높일 수 있다. 기본값은 0이다.
   2) 사용법
     nice -값 프로세스명
   3) 사용예
     [posein@www posein]$ ps -l
       F S   UID   PID  PPID  C PRI  NI ADDR    SZ WCHAN  TTY          TIME CMD
     100 S   501 20843 20842  0  76   0    -   566 wait4  pts/2    00:00:00 bash
     000 T   501 20893 20843  0  69   0    -   685 do_sig pts/2    00:00:00 vi
     000 R   501 20904 20843  0  78   0    -   752 -      pts/2    00:00:00 ps
     [posein@www posein]$ nice -10 bash
     [posein@www posein]$ ps -l
       F S   UID   PID  PPID  C PRI  NI ADDR    SZ WCHAN  TTY          TIME CMD
     100 S   501 20843 20842  0  73   0    -   566 wait4  pts/2    00:00:00 bash
     000 T   501 20893 20843  0  69   0    -   685 do_sig pts/2    00:00:00 vi
     000 S   501 20906 20843  0  77  10    -   564 wait4  pts/2    00:00:00 bash
     000 R   501 20923 20906  0  79  10    -   753 -      pts/2    00:00:00 ps
      => bash의 NI값을 10으로 설정한다. NI값을 변경하면 bash의 자식프로세스인
        NI값도 바뀐다.
     [root@www /root]# nice --10 bash
       => bash의 NI값을 -10으로 설정한다.
(참고) bash와 NI값
   bash는 로그할 때의 부여받는 환경에 가까워서 NI값을 변경하면 실제적으로 우선순위의 변동보다
  새로운 bash를 부여받는 쪽에 가깝다.

(10) renice
   1) 설명 : 실행중인 프로세스의 우선순위를 변경할 때 사용하는 명령으로 오직 그 프로세스의
            소유자와 루트권한자만이 명령을 내릴 수 있다. 이 명령도 NI값을 부여함으로서 우선
            순위가 변경되며 루트권한자만이 프로세스의 우선순위를 높일 수 있다.
   2) 사용법
     renice [options] 값 PID
   3) options
     -g : 그룹 ID 지정
     -u : 사용자 ID 지정
     -p : 프로세스 ID 지정(초기값)
   4) 사용예
    ㄱ. [posein@www posein]$ ps -l
          F S   UID   PID  PPID  C PRI  NI ADDR    SZ WCHAN  TTY          TIME CMD
        100 S   501 20843 20842  0  69   0    -   566 wait4  pts/2    00:00:00 bash
        000 T   501 20893 20843  0  69   0    -   685 do_sig pts/2    00:00:00 vi
        000 S   501 20906 20843  0  79  10    -   564 wait4  pts/2    00:00:00 bash
        000 R   501 20937 20906  0  77  10    -   752 -      pts/2    00:00:00 ps
        [posein@www posein]$ renice 15 20906
        20906: old priority 10, new priority 15
        [posein@www posein]$ ps -l
          F S   UID   PID  PPID  C PRI  NI ADDR    SZ WCHAN  TTY          TIME CMD
        100 S   501 20843 20842  0  69   0    -   566 wait4  pts/2    00:00:00 bash
        000 T   501 20893 20843  0  69   0    -   685 do_sig pts/2    00:00:00 vi
        000 S   501 20906 20843  0  77  15    -   564 wait4  pts/2    00:00:00 bash
        000 R   501 20939 20906  0  79  15    -   752 -      pts/2    00:00:00 ps
         => 20906작업의 NI값을 15로 바뀌면서, PRI는 적당한 값으로 자동 설정된다.
    ㄴ. [root@www root]# renice 1 987 -u daemon root -p 32
         => 프로세스 ID가 987, 32 인 것과 사용자가 daemon, root인 모든 프로세스의 우선권값을
           1로 바꾼다.

(11) nohup
   1) 설명: 이 명령은 사용자가 로그아웃하거나 터미널창을 닫아도 해당 프로세스를 백그라운드로
           작업될 수 있도록 해주는 명령이다.
   2) 사용법
     nohup 명령
   3) 사용예
     nohup tar cvf source.tar /opt/src &
   4) 참고
     만약 표준출력이 화면이었는데 사용자가 로그아웃하게 되면 표준출력과 표준에러를 'nohup.out'
    이라는 파일에 저장한다. 현재 작업디렉토리에 쓰기작업이 불가능한 경우에는 ~/nohup.out를
    생성하고 그것도 불가능하게 되면 실행이 되지 않는다. 또한 우선권을 5 만큼 증가시켜 수행하고
    실행한 명령을 자동으로 백그라운드로 보내지 않으므로 직접 명령행 뒤에 '&'를 붙여 백그라운드
    로 보내주어야 한다.

Trackback
Reply
우주곰:지구곰이 아닙니다.
지구곰이 아닙니다.
Categories (190)
Information (5)
About uzoogom (5)
My Advanced Linux (73)
Learning Linux (96)
OperatingSystem (5)
Databases (4)
OpenSource (1)
Tips! (1)
«   2024/03   »
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
31