mirror of
https://github.com/sipeed/picoclaw.git
synced 2026-06-12 18:08:54 +00:00
f901af8cbc
- Unified exec tool with actions: run/list/poll/read/write/send-keys/kill - PTY support using creack/pty library - Process session management with background execution - Process group kill for cleaning up child processes - Session cleanup: 30-minute TTL for old sessions - Output buffer: 100MB limit with truncation Actions: - run: execute command (sync or background) - list: list all sessions - poll: check session status - read: read session output - write: send input to session stdin - send-keys: send special keys (up, down, ctrl-c, enter, etc.) - kill: terminate session Tests: - PTY: allowed commands, write/read, poll, kill, process group kill - Non-PTY: background execution, list, read, write, poll, kill, process group kill - Session management: add/get/remove/list/cleanup
15 lines
217 B
Go
15 lines
217 B
Go
//go:build !windows
|
|
|
|
package tools
|
|
|
|
import (
|
|
"syscall"
|
|
)
|
|
|
|
func killProcessGroup(pid int) error {
|
|
if err := syscall.Kill(-pid, syscall.SIGKILL); err != nil {
|
|
_ = syscall.Kill(pid, syscall.SIGKILL)
|
|
}
|
|
return nil
|
|
}
|