누군가 서버의 bash에서 while true 루프를 생성했습니다(루트로 로그인). 프로세스를 계속 생성하고 다행히 종료되지만 상위 프로세스를 종료해야 합니다. 스크립트가 아닌 명령줄에서 직접 생성되었다는 사실을 알게 되었기 때문에 "-bash"를 찾아 루트가 소유한 프로세스를 종료했습니다. 좋은 결과.
이렇게 하면 ps aux
bash의 다양한 변형이 명령줄에 나타납니다.
/bin/bash
-bash
-bash
-bash
/bin/bash
bash
/bin/bash
/bin/bash
bash
등..
차이점이 뭐야?
답변1
선행 대시는 다음의 로그인 셸을 나타냅니다 man bash
.
로그인 쉘에 대한 인수의 첫 번째 문자는 0이거나
-
옵션으로 시작됩니다--login
.bash가 이 옵션을 사용하여 대화형 로그인 셸이나 비대화형 셸로 호출되면
--login
먼저 파일/etc/profile
(파일이 존재하는 경우)에서 명령을 읽고 실행합니다. 파일을 읽은 후~/.bash_profile
,~/.bash_login
, 를 순서대로 찾아 존재~/.profile
하고 읽을 수 있는 첫 번째 파일부터 명령을 읽고 실행합니다.--noprofile
이 옵션을 사용하면 쉘이 시작될 때 이 동작을 비활성화할 수 있습니다.로그인 쉘이 종료되면 bash는 파일이
~/.bash_logout
존재하는 경우 해당 명령을 읽고 실행합니다.
bash
/bin/bash
동일하지만 다르게 호출될 뿐입니다(전자는 전체 경로를 사용하여 호출되지 않습니다) .