InitScript - files /etc/rc.d/init.d/*
InitScript is a parser for the initscripts in /etc/rc.d/init.d
.
Because this parser read multiple files, the initscripts are stored as a list within the parser and need to be iterated through in order to find specific initscripts.
Examples
>>> for initscript in shared[InitScript]: # Parser contains list of all initscripts
... print "Name:", initscript.file_name
...
Name: netconsole
Name: rhnsd
- exception insights.parsers.initscript.EmptyFileException[source]
Bases:
ParseException
- class insights.parsers.initscript.InitScript(context)[source]
Bases:
Parser
Parse initscript files. Each item is a dictionary with following fields:
- file_name
initscript name
- Type:
str
- file_path
initscript path without leading ‘/’
- Type:
str
- file_content
initscript content, line by line
- Type:
list
Because some files may not be real initscripts, to determine whether a file in
etc/rc.d/init.d/
is an initscript, the parser checks for# chkconfig: <values>
or# Provides: <names>
strings in the script. If that matches, then it assumes it is an initscript.Otherwise, it tries to find out if it is by searching for
shebang (e.g.
#!/bin/bash
) on first linestart
/stop
/status
tokens in non-commented out lines
If 3 or more items are found (half the items searched for + 1), called confidence in the code (e.g. shebang + start + stop), then we assume it is an initscript.
Otherwise the parser raises a
ParseException
.- parse_content(content)[source]
- Raises:
EmptyFileException -- Raised if file is empty.
NotInitscriptException -- Raised if likely not an initscript.
- exception insights.parsers.initscript.NotInitscriptException[source]
Bases:
ParseException