링크 ux 프로그램 배경 실행

5115 단어
어떤 때 는 터미널 에서 프로그램 을 시작 하고 실행 시 켜 야 합 니 다. 그러나 터미널 을 닫 으 면 이 프로그램 도 닫 힙 니 다.터미널 을 닫 은 후에 이 터미널 에서 시 작 된 프로그램 을 계속 실행 시 키 는 방법 은 없 을 까?
선행 지식:
xterm, console, tty, pts, pty 의 차이
  • 셸 은 커 널 과 직접 통신 하 는 것
  • xterm 은 소프트웨어 개념 으로 이 프로그램 을 통 해 console 에 연결 하여 호스트 를 제어 할 수 있 으 며, cli 형식의 터미널 시 뮬 레이 터 로 이해 할 수 있 으 며, gnome - terminal, konsole 은 gui 형식의 터미널 시 뮬 레이 터
  • 이다.
  • console 은 호스트 의 콘 솔 로 물리 적 개념 이다.
  • tty, pty, pts 는 모두 단말기 이 고 하드웨어 나 설비 개념 입 니 다.
  • tty 는 모든 단말기 의 총칭
  • pty 는 그 중의 하나 로 위조 단말기 또는 가상 단말기
  • 라 고 부른다.
  • "&"명령 행 마무리 법:
  • 유 닉 스/리 눅 스에 서 프로그램 을 독립 적 으로 실행 시 키 려 면 보통 & 명령 끝 에 프로그램 이 자동 으로 실 행 됩 니 다.(명령 후 스페이스 바 를 추가 하지 않 아 도 됨)
    gnome - terminal 을 열 고 다음 명령 을 수행 합 니 다.
    delectate@delectate:~$ totem &
    [1] 8510
    delectate@delectate:~$ 

    몇 가지 주의해 야 할 점 이 있다.
  • 시 작 된 프로그램 은 현재 pts 에 연결 되 어 있 습 니 다. 현재 터미널 시 뮬 레이 터 만 닫 힙 니 다 (exit 명령 으로 종료). 프로 세 스 는 자동 으로 tty 에 의 해 계승 되 었 습 니 다.
  • delectate@delectate:~$ ps -e | grep totem
        //程序已被以totem & 形式启动,当前附在pts0上
    8819 pts/0    00:00:00 totem
    delectate@delectate:~$ ps -e | grep totem
       //pts0的模拟终端被exit命令关闭,totem自动附在tty
    8819 ?        00:00:00 totem
    delectate@delectate:~$
  • debug 출력 프로 세 스 가 있 습 니 다. enter 키 를 누 르 면 현재 debug 출력 을 중단 해 야 합 니 다.그러나 프로그램 이 printf 를 계속 진행 하면 명령 을 입력 할 수 없습니다.
  • delectate@delectate:~$ vlc &
    [1] 8850
    delectate@delectate:~$ VLC media player 1.0.6 Goldeneye
    [0x8b998b0] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
                                                                   //enter pressed
    delectate@delectate:~$                               //show a clean terminal now
    ** (:8850): CRITICAL **: giop_thread_request_push: assertion `tdata != NULL' failed
                                                                   //仍然在输出数据……
                                                                   //关闭程序
    [1]+  Done                    vlc
    delectate@delectate:~$
  • 프로그램의 debug 출력 결 과 를 기록 할 수 없습니다.
  • 가상 터미널 이 $또는\# 일 때 만 이 터미널 을 닫 을 수 있 습 니 다. 그렇지 않 으 면 시 작 된 프로 세 스 가 닫 힐 수 있 습 니 다. (enter 를 누 르 면 프로그램 이 정 보 를 계속 출력 할 때 $나\# 가 나타 나 지 않 습 니 다)
  • nohup 명령 사용:
  • nohup 설명: Run COMMAND, ignoring hangup signals. (중단/끊 기 신 호 를 무시 하고 명령 을 계속 실행 합 니 다)
    하지만 명령 을 사용 하려 고 시도 하면:
    1 nohup command
    때 가 되면 크 지도 작 지도 않 은 번 거 로 움 을 만 나 게 되 는데..........................................
    delectate@delectate:~$ nohup vlc
    nohup: ignoring input and appending output to `nohup.out'
    

    예, debug 정 보 를 nohup. out 파일 에 자동 으로 기록 하지만 이 터미널 을 사용 하여 어떠한 조작 도 할 수 없습니다.
    그래서 첫 번 째 방법 과 혼용 해 야 한다. 즉,
    nohup command {option} &

    혼용 하면 실행 중인 명령 출력 결 과 를 - rw -, nohup. out 라 는 파일 에 자동 으로 기록 합 니 다.
    그래도 필요 해.
    delectate@delectate:~$ nohup vlc &
    [1] 9045
    delectate@delectate:~$ nohup: ignoring input and appending output to `nohup.out'
                                                                             //在这里按一下回车或以ctrl+c以
                                                                                 //show a clean terminal 
    delectate@delectate:~$

    & 성질 이 같 습 니 다. 현재 시작 프로그램의 터미널 이 닫 히 지 않 으 면 시 작 된 프로그램 이 pst 에 붙 어 있 습 니 다.터미널 이 닫 히 면 자동 으로 tty 에 붙 습 니 다.
    하면, 만약, 만약... nohup.out 파일 을 쓸 수 없습니다. 출력 을 다시 지정 합 니 다. $HOME/nohup.out.기본 상태 에서 nohup 은 기본적으로 nohup. out 파일 로 출력 합 니 다. 출력 파일 을 다시 지정 할 수도 있 습 니 다.
    nohup command {option} > myout.file 2>&1 &

    가상 터미널 이 $또는\# 일 때 만 이 터미널 을 닫 을 수 있 습 니 다. 그렇지 않 으 면 시 작 된 프로 세 스 가 닫 힐 수 있 습 니 다.
  • 기타 관련 명령:
  • jobs: 현재 백 스테이지 에서 실행 중인 명령 이 얼마나 되 는 지 확인 합 니 다 fg: 백 스테이지 에서 명령 을 프론트 데스크 톱 으로 옮 겨 계속 실행 합 니 다.배경 에 여러 명령 이 있 으 면 fg% jobnumber 로 선택 한 명령 을 내 보 낼 수 있 습 니 다.% jobnumber 는 jobs 명령 을 통 해 알 수 있 는 배경 에서 실행 중인 명령 의 번호 (pid 가 아 닌) bg 입 니 다. 배경 에서 일시 정지 하 는 명령 을 계속 실행 합 니 다.배경 에 여러 명령 이 있 으 면 bg% jobnumber 로 선택 한 명령 을 호출 할 수 있 습 니 다.% jobnumber 는 jobs 명령 을 통 해 알 수 있 는 배경 에서 실행 중인 명령 의 번호 입 니 다 (pid 가 아 닙 니 다)
  • 프로 세 스 죽 이기
  • 시 작 된 프로그램 을 죽 이 는 것 은 일반적인 방식 과 같 습 니 다.
  • pkill -9 name
  • killall name
  • kill pid
  • 명령 적용:
  • 링크 ux 서버 자동 사냥 다운로드;관련 서비스 시작 하기;linux 서버 시작 프로 세 스 (특히 ssh 로그 인)
    나 는 일찍이 사용 한 적 이 있다.
    1 nohup aria2c -i downloadlist -m 0 -j 1 &
    jsharer 에서 많은 애니메이션 을 다운 받 았 다.
  • 참고 자료
  • http://topic.csdn.net/u/20100201/17/a34370cc-8a61-4315-a4d0-84242362064d.htmlhttp://www.linuxsir.org/bbs/thread362001.htmlhttp://www.williamlong.info/archives/482.htmlhttp://dev.firnow.com/course/6_system/linux/Linuxjs/2008716/133186.html
    다음으로 이동:https://www.deleak.com/blog/2010/05/19/run-software-on-background/

    좋은 웹페이지 즐겨찾기