Send a signal to the process. Not implemented on Windows. See
signals() for the list of signals on the current platform.
ps_send_signal(p = ps_handle(), sig)Process handle, or a list of process handles.
Signal number, see signals().
It checks if the process is still running, before sending the signal, to avoid signalling the wrong process, because of pid reuse.
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()
px <- processx::process$new("sleep", "10")
p <- ps_handle(px$get_pid())
p
#> <ps::ps_handle> PID=4140592, NAME=sleep, AT=2025-10-29 18:06:43.85
ps_send_signal(p, signals()$SIGINT)
#> NULL
p
#> <ps::ps_handle> PID=4140592, NAME=???, AT=2025-10-29 18:06:43.85
ps_is_running(p)
#> [1] FALSE
px$get_exit_status()
#> [1] -2