免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1823 | 回复: 0
打印 上一主题 下一主题

[新手入门] inittab File [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-09-23 17:35 |只看该作者 |倒序浏览

inittab File
Purpose
Controls the initialization process.
Description
The /etc/inittab file supplies the script to the
init
command's role as a general process dispatcher. The process that constitutes the majority of the init command's process dispatching activities is the /etc/getty line process, which initiates individual terminal lines. Other processes typically dispatched by the init command are daemons and the shell.
The /etc/inittab file is composed of entries that are position-dependent and have the following format:
Identifier:RunLevel:Action:Command
Note: The colon character ( : ) is used as a delimiter as well as a comment character. To comment out an inittab entry, add : at the beginning of the entry. For example:
:Identifier:RunLevel:Action:Command
Each entry is delimited by a newline character. A backslash (\) preceding a newline character indicates the continuation of an entry. There are no limits (other than maximum entry size) on the number of entries in the /etc/inittab file. The maximum entry size is 1024 characters. The entry fields are:
Identifier
A string (one or more than one character) that uniquely identifies an object.
RunLevel
The run level in which this entry can be processed. Run levels effectively correspond to a configuration of processes in the system. Each process started by the init command is assigned one or more run levels in which it can exist. Run levels are represented by the numbers 0 through 9. For example, if the system is in run level 1, only those entries with a 1 in the runlevel field are started. When you request the init command to change run levels, all processes without an entry in the runlevel field for the target run level receive a warning signal (SIGTERM). There is a 20-second grace period before processes are forcibly terminated by the kill signal (SIGKILL). The runlevel field can define multiple run levels for a process by selecting more than one run level in any combination from 0 through 9. If no run level is specified, the process is assumed to be valid at all run levels.
There are three other values that appear in the runlevel field, even though they are not true run levels: a, b, and c. Entries that have these characters in the runlevel field are processed only when the telinit command requests them to be run (regardless of the current run level of the system). They differ from run levels in that the init command can never enter run level a, b, or c. Also, a request for the execution of any of these processes does not change the current run level. Furthermore, a process started by an a, b, or c command is not killed when the init command changes levels. They are only killed if their line in the /etc/inittab file is marked off in the action field, their line is deleted entirely from /etc/inittab, or the init command goes into single-user mode.
Action
Tells the init command how to treat the process specified in the process field. The following actions are recognized by the init command:
respawn
If the process does not exist, start the process. Do not wait for its termination (continue scanning the /etc/inittab file). Restart the process when it dies. If the process exists, do nothing and continue scanning the /etc/inittab file.
wait
When the init command enters the run level that matches the entry's run level, start the process and wait for its termination. All subsequent reads of the /etc/inittab file while the init command is in the same run level will cause the init command to ignore this entry.
once
When the init command enters a run level that matches the entry's run level, start the process, and do not wait for its termination. When it dies, do not restart the process. When the system enters a new run level, and the process is still running from a previous run level change, the program will not be restarted. All subsequent reads of the /etc/inittab file while the init command is in the same run level will cause the init command to ignore this entry.
boot
Process the entry only during system boot, which is when the init command reads the /etc/inittab file during system startup. Start the process, do not wait for its termination, and when it dies, do not restart the process. In order for the instruction to be meaningful, the run level should be the default or it must match the init command's run level at boot time. This action is useful for an initialization function following a hardware reboot of the system.
bootwait
Process the entry the first time that the init command goes from single-user to multi-user state after the system is booted. Start the process, wait for its termination, and when it dies, do not restart the process. If the initdefault is 2, run the process right after boot.
powerfail
Execute the process associated with this entry only when the init command receives a power fail signal (SIGPWR).
powerwait
Execute the process associated with this entry only when the init command receives a power fail signal (SIGTERM), and wait until it terminates before continuing to process the /etc/inittab file.
off
If the process associated with this entry is currently running, send the warning signal (SIGTERM), and wait 20 seconds before terminating the process with the kill signal (SIGKILL). If the process is not running, ignore this entry.
ondemand
Functionally identical to respawn, except this action applies to the a, b, or c values, not to run levels.
initdefault
An entry with this action is only scanned when the init command is initially invoked. The init command uses this entry, if it exists, to determine which run level to enter initially. It does this by taking the highest run level specified in the runlevel field and using that as its initial state. If the runlevel field is empty, this is interpreted as 0123456789; therefore, the init command enters run level 9. Additionally, if the init command does not find an initdefault entry in the /etc/inittab file, it requests an initial run level from the user at boot time.
sysinit
Entries of this type are executed before the init command tries to access the console before login. It is expected that this entry will only be used to initialize devices on which the init command might try to ask the run level question. These entries are executed and waited for before continuing.
Command
A shell command to execute. The entire command field is prefixed with exec and passed to a forked sh as sh -c exec command. Any legal sh syntax can appear in this field. Comments can be inserted with the  # comment syntax.
The getty command writes over the output of any commands that appear before it in the inittab file. To record the output of these commands to the boot log, pipe their output to the alog -tboot command.
The stdin, stdout and stdferr file descriptors may not be available while init is processing inittab entries. Any entries writing to stdout or stderr may not work predictably unless they redirect their output to a file or to /dev/console.
The following commands are the only supported method for modifying the records in the /etc/inittab file:
chitab
Changes records in the /etc/inittab file.
lsitab
Lists records in the /etc/inittab file.
mkitab
Adds records to the /etc/inittab file.
rmitab
Removes records from the /etc/inittab file.
Examples
  • To start the ident process at all run levels, enter: ident:0123456789:Action:Command
  • To start the ident process only at run level 2, enter: ident:2:Action:Command
  • To disable run levels 0, 3, 6-9 for the ident process, enter: ident:1245:Action:Command
  • To start the rc command at run level 2 and send its output to the boot log, enter: rc:2:wait:/etc/rc 2>&1 | alog -tboot >
    /dev/console
    Implementation Specifics
    This file is part of Base Operating System (BOS) Runtime.
    Files
    /etc/inittab
    Specifies the path of the inittab file.
    /usr/sbin/getty
    Indicates terminal lines.
    Related Information
    The
    chitab
    command,
    init
    command,
    lsitab
    command,
    mkitab
    command,
    rmitab
    command,
    telinit
    command.


    本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/30557/showart_388197.html
  • 您需要登录后才可以回帖 登录 | 注册

    本版积分规则 发表回复

      

    北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年举报专区
    中国互联网协会会员  联系我们:huangweiwei@itpub.net
    感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP