프로세스 필드의 inittab '-' 문자

프로세스 필드의 inittab '-' 문자

inittab다음 항목이 포함된 파일이 있습니다 .

console::askfirst:-/bin/ash

~에 따르면이 매뉴얼 페이지프로세스 필드의 "+" 문자는 다음을 나타냅니다.

내부에이 프로세스에서는 utmp 및 wtmp 통계가 수행되지 않습니다.

그러나 "-" 문자에 대해서는 아무 것도 언급하지 않습니다. 프로시저 필드의 "-" 문자는 무엇을 합니까?

답변1

하이픈은 Busybox 특정 기능인 것 같습니다(예: "askfirst", 이것이 귀하가 Busybox를 사용하고 있음을 알아낸 방법입니다). 이것초기화 탭 예시문서는 다음과 같이 말합니다.

# /bin/sh invocations on selected ttys
#
# Note below that we prefix the shell commands with a "-" to indicate to the
# shell that it is supposed to be a login shell.  Normally this is handled by
# login, but since we are bypassing login in this case, BusyBox lets you do
# this yourself...
#
# Start an "askfirst" shell on the console (whatever that may be)
::askfirst:-/bin/sh

따라서 쉘을 로그인 쉘로 시작합니다(하이픈이 있는 argv[0]으로 시작). 로그인 셸의 의미는 이 질문의 범위를 벗어나지만 일반적으로 최소한 다른 시작 파일(예: ~/.profile.

argv[0](적절한 명령줄 플래그 대신)에서 하이픈을 사용하여 로그인 쉘임을 쉘에 알리는 관례는 오래된 것입니다. 이는 최소한 UNIX의 두 번째 버전으로 거슬러 올라갑니다. (argv[0]은 "-"버전 6까지 로그인 셸에만 사용되다가 로 변경되었습니다 "-/bin/sh".)

관련 정보