Even more useful info about each of the processes:
QUOTE
Ok, to make people rest assured I'll clarify this briefly:
First of all, most of the functions of these two processes (winlogon and smss) are carried up at their startup.
+ As for amss.exe process, after carrying up the startup functions (creating the Win32 subsystem process (csrss.exe, win32k.sys) and the Lsass subsystem process, creating paging files and environment variables, etc.), it'll be waiting for any of the two processes winlogon or csrss to exit to terminate your session.
there are however two important functions of smss remainig:
- the first, waiting for client requests to load new subsystems (other than Win32 subsystem, like POSIX and OS/2 subsystems), this function of smss is applicable only if you're going to run PSIX or OS/2 apps.
- the second, waiting for client rquests to create new sessions (Terminal Sessions), and this function is applicable only if you're running the terminal services and there is a user want to start a a session from a remote terminal.
So, I think no missing functionality from terminating the smss process as long as you are not in need of the last two functions, which I'm sure no one in PE is.
+ As for the Winlogon process, after carrying up its startup functions (creating Window Stations and Desktops objects, registering the SAS sequence and negotiating MSGINA.DLL (not in PE), creating the process pointed to by the "CmdLine" reg key, etc.), the remaining functions of Winlogon like loging in/out users, listening to the SAS sequence (Ctrl+Alt+Del), and controlling the differnet desktops are NOT working BY DEFAULT in PE.
So, again I think no missing functionality from terminating the Winlogon process.
Last, if there is anyone who still sees any problems from terminating these processes, let me know.
Nuno's link to TheTruth's peloader should be what you're looking for I think.