Linux 작업 제어 명령

3009 단어
단도직입적으로 최근. NET 권고 사 는 Liux 에 장시간 실행 되 는 스 크 립 트 를 써 서 Azure BlobStorage 에 저 장 된 데 이 터 를 가 져 와 야 합 니 다.리 눅 스에 서 백 스테이지 에서 작업 을 수행 하 라 는 명령 을 기록 하 세 요.
Linux 작업
작업 (Job) 은 셸 이 관리 하 는 프로 세 스 (job 마다 연 결 된 PID) 로 작업 마다 선형 job ID 가 분 배 됩 니 다.두 가지 형식의 숙제 가 있다.
  • Foreground: 터미널 창 에 명령 을 입력 하면 명령 이 실 행 될 때 까지 터미널 창 을 차지 합 니 다. 이것 은 프론트 데스크 톱 Job
  • 입 니 다.
  • Background: 명령 뒤에 & 기 호 를 추가 하면 명령 이 터미널 창 을 차지 하지 않 습 니 다. (셸 prompt 에서 계속 입력 할 수 있 습 니 다) 배경 Job
  • Linux 작업 제어 명령
    작업 제어 명령 을 사용 하면 셸 에서 여러 작업 을 실행 하고 관리 할 수 있 습 니 다.하지만 작업 을 시작 하 는 Shell 에서 만 작업 제어 명령 을 사용 할 수 있 습 니 다.
    명령 하 다.
    묘사 하 다.
    jobs
    모든 Job 을 보 여 줍 니 다. 나중에 매개 변 수 를 연결 하여 걸 러 낼 수 있 습 니 다.
    bg %n
    현재/지정 한 Job 을 배경 으로 실행
    fg %n
    현재/지정 한 Job 을 프론트 데스크 톱 으로 가 져 가서 실행 합 니 다.
    또 작업 과 관련 된 빠 른 조작 도 있다.
  • &: 명령 이나 스 크 립 트 를 배경 에서 실행 합 니 다
  • Ctrl + Z: 프론트 작업 을 중단 하고 백 스테이지 에 배치
  • Ctrl + C: 현재 프론트 데스크 톱 작업 종료
  • nohup: 터미널 을 닫 아 도 실 행 됩 니 다 (보통 위 에 &)
  • 백그라운드 에서 작업 을 실행 하 다
    원래 명령 의 마지막 에 & 를 더 하면 이 작업 을 배경 에서 실행 할 수 있 습 니 다.다음 예: 배경 에서 sleep 명령 을 실행 합 니 다.
    $ sleep 100 & 
    [1] 14488
    

    셸 반환 결과: 괄호 안 은 job ID 이 고 뒤 에는 PID 입 니 다.이후 jobs 명령 으로 상태 보기: 100 s 이후 이 배경 작업 이 완료 되 었 습 니 다.
    [root@recv-data recv]# jobs
    [1]+  Running                 sleep 100 &
    ....
    [root@recv-data recv]# jobs
    [1]+  Done                    sleep 100
    

    관리 작업
    프론트 작업 에 대해 집행 Ctrl+Z 은 프론트 작업 을 중단 하고 백 스테이지 에 놓 을 수 있다.이후 중 지 된 백 스테이지 작업 을 달 릴 수 있 도록 bg %n 명령 을 사용 할 수 있다.
    # 将前台作业中止,并放置到后台
    $ sleep 100
    ^Z
    [1]+  Stopped                 sleep 100
    
    $ jobs
    [1]+  Stopped                 sleep 100
    
    # bg命令让后台中止的作业跑起来
    $ bg % 1
    [1]+ sleep 100 &
    

    백 스테이지 에 있 는 작업, fg %n 프론트 데스크 로 전환 하여 실행 합 니 다.
    # 下面显示一个正在运行的后台作业
    $ jobs
    [1]+  Running                 sleep 100 &
    
    # 切换回前台运行
    $ fg %1
    sleep 100
    
    
    


    알다 시 피 Ctrl + C 는 현재 프론트 데스크 톱 작업 을 중지 합 니 다. 더 이상 말 하지 않 습 니 다.
    nohup: 터미널 을 닫 아 도 실행

    ssh 를 통 해 원 격 서버 에 로그 인하 고 셸 스 크 립 트 나 명령 을 실행 하 는 경우 가 많 습 니 다. 터미널 을 종료 하면 (원 격 연결 종료)이 프로 세 스/명령 은 살 해 됩 니 다. 이 작업 이 언제 끝 날 지 확인 되 지 않 으 면 배경 에서 작업 을 실행 하 는 것 이 좋 습 니 다. 그러나 시스템 을 종료 하면 이 작업 은 Shell 에 의 해 정지 되 고 종 료 됩 니 다. 프로 세 스 가 SIGHUP 를 받 았 을 때 작업 을 배경 에서 어떻게 실행 합 니까?
    이 럴 때 우 리 는 nohup 명령 을 사용 하여 장시간 실행 되 는 Shell 스 크 립 트 나 명령 을 시스템 에서 종료 해도 실행 할 수 있 습 니 다 (이때 일반 조합 & 배경 에서 실 행 됩 니 다).

    말 그대로 nohup 은 HUP (끊 기) 신 호 를 무시 하 는 POSIX 명령 입 니 다.
    요약:
  • 작업 을 초기 화 하 는 셸 에서 만 제어 작업
  • fg %n bg %n 전환 전 배경 작업
  • nohup & 조합, 장시간 백 스테이지 에서 실행 할 수 있 도록 도와 주 는 작업, 시스템 을 종료 하면 실행 가능
  • 더 읽 기
  • 전후 단 분리, 전단 항목 에 백 엔 드 API 기본 주 소 를 어떻게 동적 으로 삽입 합 니까? (in docker)
  • ASP. NET Core 크로스 플랫폼 기술 내막
  • AspNetCore 결합 Redis 실천 메시지 큐
  • Quartz. net 클 러 스 터 환경 에서 임 무 를 배치 하 는 자세
  • docker - compose 기반 Gitlab CI/CD 실천 & 배 갱 안내
  • 좋은 웹페이지 즐겨찾기