Home
last modified time | relevance | path

Searched refs:pid (Results 1 – 25 of 39) sorted by relevance

12

/DragonOS/kernel/src/process/
H A Dexit.rs18 abi::WaitOption, pid::PidType, resource::RUsage, Pid, ProcessControlBlock, ProcessManager,
26 pub pid: Pid, field
37 pub pid: Pid, field
43 pub fn new(pid_type: PidType, pid: Pid, options: WaitOption) -> Self { in new()
46 pid, in new()
57 mut pid: i64, in kernel_wait4()
63 if pid == i64::MIN { in kernel_wait4()
70 if pid == -1 { in kernel_wait4()
72 } else if pid < 0 { in kernel_wait4()
75 pid = -pid; in kernel_wait4()
[all …]
H A Dfork.rs175 current_pcb.pid(), in fork()
176 pcb.pid(), in fork()
184 procfs_register_pid(pcb.pid()).unwrap_or_else(|e| { in fork()
187 pcb.pid(), in fork()
197 pcb.pid(), in fork()
202 return Ok(pcb.pid()); in fork()
240 current_pcb.pid() in copy_mm()
251 current_pcb.pid(), new_pcb.pid(), e in copy_mm()
394 writer.copy_one_to_user(&(pcb.pid().0 as i32), 0)?; in copy_process()
400 current_pcb.pid(), pcb.pid(), e in copy_process()
[all …]
H A Dtimer.rs64 pub fn alarm_timer_init(pid: Pid, second: u64) -> AlarmTimer { in alarm_timer_init()
66 let timerfunc = AlarmTimerFunc::new(pid); in alarm_timer_init()
109 pid: Pid, field
113 pub fn new(pid: Pid) -> Box<AlarmTimerFunc> { in new()
114 return Box::new(AlarmTimerFunc { pid }); in new()
133 let mut info = SigInfo::new(sig, 0, SigCode::Timer, SigType::Alarm(self.pid)); in run()
138 .send_signal_info(Some(&mut info), self.pid) in run()
H A Dsyscall.rs77 ProcessManager::fork(frame, CloneFlags::empty()).map(|pid| pid.into()) in fork()
143 pid: i64, in wait4()
166 let r = kernel_wait4(pid, wstatus_buf, options, tmp_rusage.as_mut())?; in wait4()
200 pub fn getpgid(mut pid: Pid) -> Result<Pid, SystemError> { in getpgid()
201 if pid == Pid(0) { in getpgid()
203 pid = current_pcb.pid(); in getpgid()
205 let target_proc = ProcessManager::find(pid).ok_or(SystemError::ESRCH)?; in getpgid()
239 procfs_register_pid(pcb.pid()).unwrap_or_else(|e| { in clone()
242 pcb.pid(), in clone()
255 writer.copy_one_to_user(&(pcb.pid().data() as i32), 0)?; in clone()
[all …]
H A Dmod.rs78 pub mod pid; module
178 return ProcessManager::current_pcb().pid(); in current_pid()
206 pub fn find(pid: Pid) -> Option<Arc<ProcessControlBlock>> { in find()
207 return ALL_PROCESS.lock_irqsave().as_ref()?.get(&pid).cloned(); in find()
224 .insert(pcb.pid(), pcb.clone()); in add_pcb()
356 if current.pid() != Pid(1) { in exit_notify()
367 let r = Syscall::kill(parent_pcb.pid(), Signal::SIGCHLD as i32); in exit_notify()
371 current.pid(), in exit_notify()
372 parent_pcb.pid() in exit_notify()
389 let pid = pcb.pid(); in exit() localVariable
[all …]
/DragonOS/user/apps/test_mkfifo/
H A Dmain.c15 pid_t pid; in main() local
25 pid = fork(); in main()
27 if (pid < 0) in main()
32 else if (pid == 0) in main()
69 waitpid(pid, &status, 0); in main()
/DragonOS/user/apps/test_shm/
H A Dsender.c32 int pid = fork(); in main() local
33 if (pid == 0) in main()
38 waitpid(pid, NULL, 0); in main()
/DragonOS/kernel/src/arch/x86_64/syscall/
H A Dmod.rs55 let pid = ProcessManager::current_pcb().pid(); localVariable
56 debug!("syscall return:pid={:?},ret= {:?}\n", pid, ret as isize);
89 let pid = ProcessManager::current_pcb().pid(); in syscall_handler() localVariable
98 debug!("syscall: pid: {:?}, num={:?}\n", pid, syscall_num); in syscall_handler()
/DragonOS/kernel/src/arch/riscv64/syscall/
H A Dmod.rs20 let pid = ProcessManager::current_pcb().pid(); localVariable
21 log::debug!("syscall return:pid={:?},ret= {:?}\n", pid, ret as isize);
/DragonOS/kernel/src/arch/x86_64/process/
H A Dkthread.rs45 let pid = ProcessManager::fork(&frame, clone_flags).inspect_err(|_e| { in __inner_create() localVariable
49 ProcessManager::find(pid) in __inner_create()
53 return Ok(pid); in __inner_create()
H A Dsyscall.rs168 if pcb.pid() == ProcessManager::current_pcb().pid() { in do_arch_prctl_64()
174 if pcb.pid() == ProcessManager::current_pcb().pid() { in do_arch_prctl_64()
/DragonOS/kernel/src/ipc/
H A Dsignal.rs11 process::{pid::PidType, Pid, ProcessControlBlock, ProcessFlags, ProcessManager},
58 pid: Pid, in send_signal_info()
66 if pid.lt(&Pid::from(0)) { in send_signal_info()
67 warn!("Kill operation not support: pid={:?}", pid); in send_signal_info()
76 let pcb = ProcessManager::find(pid); in send_signal_info()
148 SigType::Kill(ProcessManager::current_pcb().pid()), in send_signal()
325 ProcessManager::current_pcb().pid(), in signal_wake_up()
326 pcb.pid(), in signal_wake_up()
335 ProcessManager::current_pcb().pid(), in signal_wake_up()
336 pcb.pid(), in signal_wake_up()
/DragonOS/kernel/src/filesystem/procfs/
H A Dmod.rs73 pid: Pid, field
147 let pid = self.fdata.pid; in open_status() localVariable
148 let pcb = ProcessManager::find(pid); in open_status()
154 pid in open_status()
185 &mut format!("\nPid:\t{}", pcb.pid().into()) in open_status()
348 pid: Pid::new(0), in new()
379 meminfo_file.0.lock().fdata.pid = Pid::new(0); in new()
392 kmsg_file.0.lock().fdata.pid = Pid::new(1); in new()
403 pub fn register_pid(&self, pid: Pid) -> Result<(), SystemError> { in register_pid()
408 &pid.to_string(), in register_pid()
[all …]
/DragonOS/kernel/src/libs/
H A Dmutex.rs68 if !self.check_pid_in_wait_list(&inner, ProcessManager::current_pcb().pid()) { in lock()
135 fn check_pid_in_wait_list(&self, inner: &MutexInner, pid: Pid) -> bool { in check_pid_in_wait_list()
137 if p.pid() == pid { in check_pid_in_wait_list()
/DragonOS/kernel/src/driver/tty/
H A Dtty_job_control.rs23 ctrl.pgid = Some(pcb.pid()); in proc_set_tty()
24 ctrl.session = Some(pcb.pid()); in proc_set_tty()
47 let pgid = pcb.pid(); in tty_check_change()
99 || ctrl.session.unwrap() != current.pid() in job_ctrl_ioctl()
/DragonOS/kernel/src/arch/x86_64/mm/
H A Dfault.rs243 let pid = ProcessManager::current_pid(); in do_user_addr_fault() localVariable
245 SigInfo::new(Signal::SIGSEGV, 0, SigCode::User, SigType::Kill(pid)); in do_user_addr_fault()
247 .send_signal_info(Some(&mut info), pid) in do_user_addr_fault()
274 let pid = ProcessManager::current_pid(); in do_user_addr_fault() localVariable
276 SigInfo::new(Signal::SIGSEGV, 0, SigCode::User, SigType::Kill(pid)); in do_user_addr_fault()
278 .send_signal_info(Some(&mut info), pid) in do_user_addr_fault()
/DragonOS/kernel/src/time/
H A Dsyscall.rs179 let pid = ProcessManager::current_pid(); in alarm() localVariable
180 let new_alarm = Some(AlarmTimer::alarm_timer_init(pid, 0)); in alarm()
194 let pid = ProcessManager::current_pid(); in alarm() localVariable
195 let new_alarm = Some(AlarmTimer::alarm_timer_init(pid, second.as_secs())); in alarm()
/DragonOS/kernel/src/arch/x86_64/ipc/
H A Dsignal.rs465 error!("Trying to handle a Sigerror on Process:{:?}", pcb.pid()); in do_signal()
495 ProcessManager::current_pcb().pid(), in do_signal()
507 let _r = Syscall::kill(ProcessManager::current_pcb().pid(), Signal::SIGSEGV as i32) in sys_rt_sigreturn()
516 let _r = Syscall::kill(ProcessManager::current_pcb().pid(), Signal::SIGSEGV as i32) in sys_rt_sigreturn()
584 ProcessManager::current_pcb().pid(), in setup_frame()
588 ProcessManager::current_pcb().pid(), in setup_frame()
599 ProcessManager::current_pcb().pid() in setup_frame()
627 let r = Syscall::kill(ProcessManager::current_pcb().pid(), Signal::SIGSEGV as i32); in setup_frame()
638 let r = Syscall::kill(ProcessManager::current_pcb().pid(), Signal::SIGSEGV as i32); in setup_frame()
652 let r = Syscall::kill(ProcessManager::current_pcb().pid(), Signal::SIGSEGV as i32); in setup_frame()
[all …]
/DragonOS/tools/qemu/
H A Difup-nat57 --pid-file=/var/run/qemu-dhcp-$BRIDGE.pid \
/DragonOS/kernel/src/debug/klog/
H A Dmm.rs52 pub fn log(log_type: AllocatorLogType, source: LogSource, pid: Option<Pid>) { in log()
58 pid.map(|p| p.data()), in log()
/DragonOS/kernel/src/arch/riscv64/process/
H A Dkthread.rs43 let pid = ProcessManager::fork(&frame, clone_flags).map_err(|e| { in __inner_create() localVariable
48 ProcessManager::find(pid) in __inner_create()
52 return Ok(pid); in __inner_create()
/DragonOS/kernel/crates/klog_types/src/
H A Dlib.rs26 pub pid: Option<usize>, field
45 pid: Option<usize>, in new()
53 pid, in new()
67 pid: None, in zeroed()
/DragonOS/kernel/src/syscall/
H A Dmod.rs277 let pid = args[0] as i32; in handle() localVariable
283 Self::wait4(pid.into(), wstatus, options, rusage) in handle()
370 let pid = Pid::new(args[0]); in handle() localVariable
373 Self::kill(pid, sig) in handle()
383 SYS_GETPID => Self::getpid().map(|pid| pid.into()), in handle()
627 SYS_GETPGID => Self::getpgid(Pid::new(args[0])).map(|pid| pid.into()), in handle()
629 SYS_GETPPID => Self::getppid().map(|pid| pid.into()), in handle()
727 let pid = args[0]; in handle() localVariable
733 let ret = Self::get_robust_list(pid, head_uaddr, len_ptr_uaddr); in handle()
931 let pid = args[0]; in handle() localVariable
[all …]
/DragonOS/kernel/src/libs/futex/
H A Dsyscall.rs124 pid: usize, in get_robust_list()
132 let ret = RobustListHead::get_robust_list(pid, head_uaddr, len_ptr_uaddr); in get_robust_list()
/DragonOS/docs/kernel/ipc/
H A Dsignal.md17 &emsp;&emsp;当进程A想发送信号给进程B的时候,使用`kill(pid, signal)`接口进行发送。然后陷入内核的`sys_kill()`函数中进行处理。然后内核将会把信号加入目标进程…

12