I understand that when I open a terminal emulator like xterm, and then list the processes using ps, I can see xterm running as a process.

But when I type Ctrl+Alt+F#, I get a "full screen terminal", is this "full screen terminal" also a process? or is it a UI provided by the kernel without being an actual process?

  • 2
    no - that doesn't answer this question. Apr 29 '17 at 22:51
  • @ThomasDickey I have to second (fourth) jasonwryan here. “The console appears to the operating system as a (kernel-implemented) tty” does answer this question. Apr 30 '17 at 21:42

Unlike regular terminal emulators, this full screen terminal is not handled by a userland process but, as you guessed, provided by the kernel.

See Virtual console


If I login to console 1 and type sleep 10000, and then do a process list with:

ps -AHl | grep -B2 sleep

I get

4 S     0  4002     1  0  80   0 - 18473 -      tty1     00:00:00   login
4 S  1000 23312  4002  0  80   0 -  8235 -      tty1     00:00:00     bash
0 S  1000 23360 23312  0  80   0 -  1452 -      tty1     00:00:00       sleep

The sleep is in bash, an expected. and bash is in login login has a parent id of 1, so that is all there is.

From this we see that there is a process login, but no process for the terminal.

  • 1
    This doesn't prove anything. There's no compelling reason why the process providing the terminal emulation would be a parent of the login or shell process. Apr 30 '17 at 21:40

Not the answer you're looking for? Browse other questions tagged or ask your own question.