If the process exists on Java side, its mailbox will receive your message. You can check it from your code using one of the Mailbox methods: receive() or receive(timeout, timeUnit), which can wait eternal or fixed amount of time for another message.

Send message from Java

You can send messages using the family of send methods, which can deliver messages locally or remotely:

send(ErlangPid, ErlangTerm) - sends a payload to a remote or local PID;

send(String, ErlangTerm) - sends a message to local mailbox of this Node by its name;

send(String, String, ErlangTerm) - sends a payload to a remote/local node and mailbox by its names.

To try this, open an Erlang shell and register shell with the name 'shell':