Issue
I've got a VMware ESXi server that I connected to via SSH to run a process. (I was running "vmkfstools --punchzero myVirtualDrive.vmdk"
to reclaim space on a virtual disk). The SSH client connection was disconnected when the process was only 70% complete (with several hours of estimated time remaining).
- Was the process terminated when the SSH client dropped its connection to the ESXi host?
- Is there any way to tell if the process is still running?
I did a quick ps|grep to find it, but didn't see anything that looked like vmkfstools.
On most standard Linux machines, I use "screen" to avoid SSH client disconnection issues, but since the ESXi shell is purposely a very stripped down environment, I just ran the command straight away.
Thoughts?
Solution
The command was killed when you disconnected.
What you can do to prevent this in the future is to run the command with nohup
. This will run your command in the background, continuing even when your shell "hangs up".
What I usually do when I expect a command to run long:
- I ssh to a Linux machine that runs 24/7
- start screen
- ssh to the ESXi host
- start the command
This way I don't have to worry about disconnects, I can just detach screen and go home after work and reattach screen the next morning to check the status of the command.
Answered By - Gerald Schneider Answer Checked By - Dawn Plyler (WPSolving Volunteer)