pub struct ProcessServer { /* private fields */ }Expand description
Global process server instance
Implementations§
Source§impl ProcessServer
impl ProcessServer
Source§impl ProcessServer
impl ProcessServer
Sourcepub fn create_process(
&self,
parent_pid: ProcessId,
name: String,
uid: u32,
gid: u32,
command_line: Vec<String>,
environment: Vec<String>,
) -> Result<ProcessId, KernelError>
pub fn create_process( &self, parent_pid: ProcessId, name: String, uid: u32, gid: u32, command_line: Vec<String>, environment: Vec<String>, ) -> Result<ProcessId, KernelError>
Create a new process
Sourcepub fn terminate_process(
&self,
pid: ProcessId,
exit_code: i32,
) -> Result<(), KernelError>
pub fn terminate_process( &self, pid: ProcessId, exit_code: i32, ) -> Result<(), KernelError>
Terminate a process
Sourcepub fn wait_for_child(
&self,
parent_pid: ProcessId,
specific_pid: Option<ProcessId>,
) -> Result<(ProcessId, i32), KernelError>
pub fn wait_for_child( &self, parent_pid: ProcessId, specific_pid: Option<ProcessId>, ) -> Result<(ProcessId, i32), KernelError>
Wait for a child process
Sourcepub fn get_process_info(&self, pid: ProcessId) -> Option<ProcessInfo>
pub fn get_process_info(&self, pid: ProcessId) -> Option<ProcessInfo>
Get process information
Sourcepub fn list_processes(&self) -> Vec<ProcessInfo>
pub fn list_processes(&self) -> Vec<ProcessInfo>
List all processes
Sourcepub fn set_resource_limits(
&self,
pid: ProcessId,
limits: ResourceLimits,
) -> Result<(), KernelError>
pub fn set_resource_limits( &self, pid: ProcessId, limits: ResourceLimits, ) -> Result<(), KernelError>
Set resource limits for a process
Sourcepub fn get_resource_limits(&self, pid: ProcessId) -> Option<ResourceLimits>
pub fn get_resource_limits(&self, pid: ProcessId) -> Option<ResourceLimits>
Get resource limits for a process
Sourcepub fn create_session(&self, leader_pid: ProcessId) -> Result<u32, KernelError>
pub fn create_session(&self, leader_pid: ProcessId) -> Result<u32, KernelError>
Create a new session
Sourcepub fn create_process_group(
&self,
leader_pid: ProcessId,
session_id: u32,
) -> Result<u32, KernelError>
pub fn create_process_group( &self, leader_pid: ProcessId, session_id: u32, ) -> Result<u32, KernelError>
Create a new process group
Sourcepub fn send_signal(
&self,
pid: ProcessId,
signal: i32,
) -> Result<(), KernelError>
pub fn send_signal( &self, pid: ProcessId, signal: i32, ) -> Result<(), KernelError>
Send signal to process
Sourcepub fn update_process_stats(
&self,
pid: ProcessId,
cpu_time: u64,
memory_usage: u64,
)
pub fn update_process_stats( &self, pid: ProcessId, cpu_time: u64, memory_usage: u64, )
Update process statistics
Sourcepub fn reap_zombies(&self) -> usize
pub fn reap_zombies(&self) -> usize
Clean up zombie processes
Sourcepub fn get_statistics(&self) -> ProcessServerStats
pub fn get_statistics(&self) -> ProcessServerStats
Get system statistics
Sourcepub fn list_process_ids(&self) -> Vec<ProcessId>
pub fn list_process_ids(&self) -> Vec<ProcessId>
List all active process IDs
Sourcepub fn notify_capability_revoked(&self, _pid: ProcessId, _cap_id: u64)
pub fn notify_capability_revoked(&self, _pid: ProcessId, _cap_id: u64)
Notify a process that a capability has been revoked