Skip to content

attach stdin/stdout of a command to a Unix socket

License

Notifications You must be signed in to change notification settings

msantos/unixexec-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SYNOPSIS

unixexec PATH COMMAND ...

DESCRIPTION

unixexec: a minimal, UCSPI inetd for Unix sockets

unixexec attaches the stdin/stdout of a command to a Unix socket:

  • immediately exec(3)'s the command: the data is not proxied via another process

  • does not multiplex access to a socket

EXAMPLES

echo server

$ unixexec /tmp/sock cat

$ nc -U /tmp/sock

Supervised using daemontools

An echo server allowing 3 concurrent connections:

service/
├── echo1
│   └── run
├── echo2
│   └── run
└── echo3
    └── run
  • service/echo1/run
#!/bin/sh

exec unixsock /tmp/echo1.socket cat
  • service/echo2/run
#!/bin/sh

exec unixsock /tmp/echo2.socket cat
  • service/echo3/run
#!/bin/sh

exec unixsock /tmp/echo3.socket cat

Then run:

svscan service

Build

cargo build

OPTIONS

None

ENVIRONMENT VARIABLES

PROTO : protocol, always set to UNIX

UNIXLOCALPATH : socket path

UNIXLOCALUID : user ID of unixexec process

UNIXLOCALUSER : user name of unixexec process

UNIXLOCALGID : group ID of unixexec process

UNIXLOCALPID : process ID of unixexec process

UNIXREMOTEPID : process ID of connecting process (support: Linux, OpenBSD)

UNIXREMOTEEUID : user ID of connecting process

UNIXREMOTEUSER : user name of connecting process

UNIXREMOTEEGID : group ID of connecting process

ALTERNATIVES

About

attach stdin/stdout of a command to a Unix socket

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages