Start Arthas¶
Interactive Mode¶
./as.sh
➜ bin git:(develop) ✗ ./as.sh
Found existing java process, please choose one and hit RETURN.
[1]: 3088 org.jetbrains.idea.maven.server.RemoteMavenServer
* [2]: 12872 org.apache.catalina.startup.Bootstrap
[3]: 2455
Attaching to 12872...
,---. ,------. ,--------.,--. ,--. ,---. ,---.
/ O \ | .--. ''--. .--'| '--' | / O \ ' .-'
| .-. || '--'.' | | | .--. || .-. |`. `-.
| | | || |\ \ | | | | | || | | |.-' |
`--' `--'`--' '--' `--' `--' `--'`--' `--'`-----'
$
Non-Interactive Mode¶
Startup script is as follows:
./as.sh <PID>[@IP:PORT]
Parameter Description¶
- PID: Target Java process ID (Make sure that the user executing the command has sufficient permissions to operate the target Java process.)
- IP: The address that Arthas Server listens on, the default value is
127.0.0.1
. Arthas allows multiple users to access simultaneously without interfering with each other. - PORT: Arthas Server port,the default value is 3658
Sample¶
If IP and PORT are not specified, then the default values are 127.0.0.1 and 3658
./as.sh 12345
Equivalent to:
./as.sh 12356@127.0.0.1:3658
Remote Diagnosis¶
After starting Arthas Server on the target Java process, users can use telnet
connect to the remote Arthas Server, for example:
telnet 192.168.1.119 3658
sudo Support¶
Usually online environment will only grant users privilege as low as possible, instead, all advanced operations are through sudo-list. Since as.sh
script takes into account the current effective user, it is possible to run the script in the other rule, by specifying -H
option like this:
sudo -u admin -H ./as.sh 12345