Category: Linux

  • killall

    동일한 이름의 프로세스가 여러 개 실행되고 있을 때 이를 모두 종료시킬 때 사용할 수 있다.

    killall -9 프로세스

    이 명령어는 평소에는 사용할 이유가 없는데 Python의 multiprocessing 과정에서 필요해서 찾아보았음.

  • mkdir -p

    리눅스와 윈도우는 디렉토리를 생성하는 명령어는 mkdir 이다. 디렉토리가 없는 경우에는 만들어 주지만, 있는 경우에는 오류가 발생한다. 이럴 때 귀찮은 오류 메세지를 안보이게 해주는 방법으로 -p를 붙이는 것이다. 원래는 하위의 하위 폴더를 만들 때 중간 폴더가 없더라도 생성해 주는 기능이지만, 오류 메세지를 안보이게 하는 목적으로도 이용할 수 있는 것 같다.

    byun1114@research:~/WORK/CD8CD39$ mkdir CONVERTED
    byun1114@research:~/WORK/CD8CD39$ mkdir CONVERTED
    mkdir: cannot create directory ‘CONVERTED’: File exists
    byun1114@research:~/WORK/CD8CD39$ mkdir -p CONVERTED
    byun1114@research:~/WORK/CD8CD39$
    
  • Debian에서 PATH 설정

    Debian에서 PATH를 설정해 주어야 할 때에는 다음의 파일을 수정해 준다.

    /etc/login.defs

  • SSH를 이용해서 원격 컴퓨터에 스크립트 실행하기

    찾아보면 쉽게 찾을 수 있는 내용. 어제 화재(?) 사건을 계기로 원격지 컴퓨터를 SSH를 이용해서 끄는 방법을 찾아보았다. 리눅스의 종료 명령어는 윈도우와 마찬가지로 shutdown 이니까, 원격으로 명령어를 입력할 수 있으면 된다.

    ssh -p 포트번호 계정@서버주소 'sudo shutdown'

    하나의 명령어는 입력이 쉽다. 긴급 상황등의 이유로 컴퓨터가 반드시 종료되어야 하기 때문에 다음의 몇 가지 문제를 해결해야 한다.

    • Debian의 경우 기본 설정 상태라면 root 계정으로 로그인 했을 때에만 종료가 가능하다. 개인 계정으로 shutdown을 실행하기 위해서는 /etc/sudoers 에서 본인 계정에 sudo 권한을 부여해야 한다.
    • 그런데 SSH 서버 설정에서 root 접속은 기본적으로 불가능이다.
    • sudo 명령어에서 비밀번호를 요구하지 않도록 해야 한다. 개인 컴퓨터야 그냥 하루쯤 더 켜두는 문제거나, 다음 스크립트로 진행이 안되던가 하는 문제 밖에 없다. 본래의 목적인 긴급 상황에 강제 종료를 하기 위해서는 외부의 개입을 최소화 해야 한다.

    /etc/sudoers를 편집하여 설정을 바꾸어 주면 된다. 접속하는 컴퓨터의 공개키를 서버에 등록시키면 비밀번호를 묻는 과정도 생략 가능하다.