With a server running on MIX_ENV=prod PORT=4000 elixir --detached -S mix do compile, phx.server
using the --detached
flag, what command do I use to terminate the process to stop or restart it?
Assuming a UNIX-like system:
$ ps aux | grep elixir
to find the process-id of the OS-process that runs the Erlang VM that has loaded elixir and your phoenix application, and then
kill number
to stop it. number
is the number in the second column of the output of ps aux
(the first column containing the name of the unix-user that owns, i.e. started, the process).
Afterwards you can try ps aux | grep elixir
again to make sure it is no longer there .
In an actual production environment, it is advisable that you instead set up e.g. a systemd entry that manages the process, which makes it a lot easier to start/stop/restart/autostart-at-boot and monitor it.
If you give the node a name then you can connect to it from another node and send commands to it, that is actually how distillery’s release script works.
do you have any sources for doing something like this?
You just add a --name ...@...
or --sname ...
to expose it, then in an iex session you just Node.connect(...)
the remote node, you can then even switch your shell to it instead of needing to rpc commands over, but in general just :rpc.
whatever, call, cast, etc… You can check the erlang docs on the :rpc
module for details.
Or just look at the script distillery creates for you when you make a release. ^.^