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