Send a signal to the process. Not implemented on Windows. See
signals() for the list of signals on the current platform.
Usage
ps_send_signal(p = ps_handle(), sig)Arguments
- p
 Process handle, or a list of process handles.
- sig
 Signal number, see
signals().
Details
It checks if the process is still running, before sending the signal, to avoid signalling the wrong process, because of pid reuse.
See also
Other process handle functions:
ps_children(),
ps_cmdline(),
ps_connections(),
ps_cpu_times(),
ps_create_time(),
ps_cwd(),
ps_descent(),
ps_environ(),
ps_exe(),
ps_handle(),
ps_interrupt(),
ps_is_running(),
ps_kill(),
ps_memory_info(),
ps_name(),
ps_num_fds(),
ps_num_threads(),
ps_open_files(),
ps_pid(),
ps_ppid(),
ps_resume(),
ps_shared_libs(),
ps_status(),
ps_suspend(),
ps_terminal(),
ps_terminate(),
ps_uids(),
ps_username()
Examples
px <- processx::process$new("sleep", "10")
p <- ps_handle(px$get_pid())
p
#> <ps::ps_handle> PID=8793, NAME=sleep, AT=2025-04-12 12:52:11.62
ps_send_signal(p, signals()$SIGINT)
#> NULL
p
#> <ps::ps_handle> PID=8793, NAME=???, AT=2025-04-12 12:52:11.62
ps_is_running(p)
#> [1] FALSE
px$get_exit_status()
#> [1] -2