Detect Linux Runlevel

Lew Pitcher lew.pitcher at
Mon Dec 5 17:45:57 EST 2016

On Monday December 5 2016 17:24, in comp.lang.python, "Chris Angelico"
<rosuav at> wrote:

> On Tue, Dec 6, 2016 at 8:38 AM, Lew Pitcher
> <lew.pitcher at> wrote:
>> The OP asked for the runlevel, not the systemd target.
> Runlevels don't exist in systemd. And systemd targets don't exist in
> Upstart. The question "what runlevel are we in" does not make sense
> unless you're using an init system that works on the basis of
> runlevels (eg sysvinit).

I repeat: The OP asked for the runlevel, not the systemd target.

That should tell you that an answer involving systemd "does not make sense".

To the OP: as others have said, the file
contains various records, including the RUN_LVL (runlevel) record. You can
find some documentation in utmp(3), including a record layout, and an values

I don't know that python includes a standard or builtin method to parse the
utmp file; to retrieve the runlevel, you may have to code your own access
routine as part of your python code, or resort to invoking an external
program like who(1).

Lew Pitcher
"In Skills, We Trust"
PGP public key available upon request

More information about the Python-list mailing list