๐ŸŒ AIๆœ็ดข & ไปฃ็† ไธป้กต
Skip to content

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