AQUA_X_SYS_EXEC
aqua >= v2.5.0
caution
This feature doesn't work on Windows because Windows doesn't support execve(2).
When a command x is executed via aqua, the command is executed as the following.
- $AQUA_ROOT_DIR/bin/x: symbolic link to aqua-proxy
- aqua-proxy executes the command
aqua exec -- x - aqua executes
x
So the command x is executed via aqua-proxy and aqua.
Until aqua v2.5.0, aqua-proxy and aqua executed commands as subprocess. You can confirm it by checking the process tree by pstree command.
e.g.
$ nvim # nvim is managed by aqua
$ pstree -s nvim
\-+= 00719 shunsukesuzuki -zsh
\-+= 09955 shunsukesuzuki nvim # aqua-proxy
\-+- 09956 shunsukesuzuki aqua exec -- nvim
\--- 09957 shunsukesuzuki /Users/shunsukesuzuki/.local/share/aquaproj-aqua/pkgs/github_release/github.com/neovim/neovim/v0.7.0/nvim-macos.tar.gz/nvim-osx64/bin/nvim
aqua-proxy -> aqua -> x
Sometimes this behaviour caused trouble. #710 #1597
From aqua v2.5.0, aqua-proxy and aqua execute commands by execve(2) in Linux and macOS by default.
So extra subprocess isn't raised.
\-+= 82315 shunsukesuzuki -zsh
\-+= 82630 shunsukesuzuki nvim
If you feel aqua becomes unstable due to this feature, you can disable this feature by the environment variable AQUA_X_SYS_EXEC.
export AQUA_X_SYS_EXEC=false