mirror of
https://github.com/nushell/nushell.git
synced 2025-08-10 02:17:57 +02:00
Return error when kill
didn't terminate successfully (#6354)
* Return error when `kill` didn't terminate successfully Signed-off-by: nibon7 <nibon7@163.com> * add test Signed-off-by: nibon7 <nibon7@163.com> Signed-off-by: nibon7 <nibon7@163.com>
This commit is contained in:
@ -132,10 +132,37 @@ impl Command for Kill {
|
||||
.stderr(Stdio::null());
|
||||
}
|
||||
|
||||
let output = cmd.output().expect("failed to execute shell command");
|
||||
let output = cmd.output().map_err(|e| {
|
||||
ShellError::GenericError(
|
||||
"failed to execute shell command".into(),
|
||||
e.to_string(),
|
||||
Some(call.head),
|
||||
None,
|
||||
Vec::new(),
|
||||
)
|
||||
})?;
|
||||
|
||||
if !quiet && !output.status.success() {
|
||||
return Err(ShellError::GenericError(
|
||||
"process didn't terminate successfully".into(),
|
||||
String::from_utf8(output.stderr).unwrap_or_default(),
|
||||
Some(call.head),
|
||||
None,
|
||||
Vec::new(),
|
||||
));
|
||||
}
|
||||
|
||||
let val = String::from(
|
||||
String::from_utf8(output.stdout)
|
||||
.expect("failed to convert output to string")
|
||||
.map_err(|e| {
|
||||
ShellError::GenericError(
|
||||
"failed to convert output to string".into(),
|
||||
e.to_string(),
|
||||
Some(call.head),
|
||||
None,
|
||||
Vec::new(),
|
||||
)
|
||||
})?
|
||||
.trim_end(),
|
||||
);
|
||||
if val.is_empty() {
|
||||
|
Reference in New Issue
Block a user