refactor DShellProcess