SYD-RUN(1) General Commands Manual SYD-RUN(1)

syd-run - run a program inside a container with the given process ID

syd-run [-hvacimnptuU] pid {command [arg...]}

The syd-run(2) utility runs a program inside a syd(1) container with the given process ID. This requires the use of system calls setns(2), and pidfd_open(2) which require Linux-5.8 or newer. Note, entering pid_namespaces(7) and time_namespaces(7) is a privileged operation, whereas entering cgroup_namespaces(7), ipc_namespaces(7), mount_namespaces(7), network_namespaces(7), and uts_namespaces(7) is unprivileged when combined with user_namespaces(7) provided that unprivileged user_namespaces(7) support is enabled in the Linux kernel.

-h Display help.
-v Be verbose. Print informational messages on standard error.
-a Auto-detect namespaces to enter. PID and Time namespaces are excluded. This is the default.
-c Enter into CGroup namespace.
-i Enter into IPC namespace.
-m Enter into mount namespace.
-n Enter into network namespace.
-p Enter into PID namespace.
-t Enter into time namespace.
-u Enter into UTS namespace.
-U Enter into user namespace.

On clean exit, syd-run(1) exits with the same code as the child process. On unclean termination, exit code is set to 128 plus signal number. In case executing the child process fails syd-run(1) exits with the errno(3) number.

syd(1), syd(2), syd(5), setns(2), pidfd_open(2)

syd homepage: https://sydbox.exherbo.org/

Maintained by Ali Polatel. Up-to-date sources can be found at https://gitlab.exherbo.org/sydbox/sydbox.git and bugs/patches can be submitted to https://gitlab.exherbo.org/groups/sydbox/-/issues. Discuss in #sydbox on Libera Chat or in #sydbox:mailstation.de on Matrix.

2025-09-13