[−][src]Module sunrise_shell::subcommands
Shell builtin subcommands
When the user tries to run a command, shell will first check if it's a
built-in command by looking if the command name exists within the
SUBCOMMANDS global.
A subcommand is a function of type fn(IPipeProxy, IPipeProxy, IPipeProxy, Vec<String>) -> Result<(), Error>.
It is expected to be started in a separate thread from the main shell. This
is necessary because reading on a pipe can potentially block. If they were
spawned on the main thread, it could lead to a blocked main thread.
Also stored is the help text associated with that function.
Modules
| cd | Subcommand to change the CWD. |
| connect | Test function ensuring SM's get_service works. |
| exit | Exits the shell. |
| help | Print the help message. |
| kill | Kill the provided pid. |
| ps | List currently running processes. |
| pwd | Print the current working directory. |
| showgif | Show a gif in a new window |
| test_divide_by_zero | Test function ensuring divide by zero interruption kills only the current |
| test_page_fault | Test function ensuring pagefaults kills only the current process. |
| test_threads | Test function ensuring threads are working properly. |
| useradd | Adds a new user to /etc/passwd with the specified username. |
Structs
| RunArgs | The structure sent to the builtin subcommand's trampoline function. |
| SUBCOMMANDS | List of subcommands. See module documentation. |
Functions
| run | Trampoline function for a subcommand thread. Takes a pointer to a RunArgs box as an argument. |
Type Definitions
| SubcommandFn | Subcommand function. See module documentation. |