@@ -61,10 +61,7 @@ func ExecCmdDirBytesWithContext(ctx context.Context, dir, cmdName string, args .
61
61
if e , y := err .(* exec.ExitError ); y {
62
62
OnCmdExitError (cmd , e )
63
63
} else {
64
- cmd .Stderr .Write (Str2bytes (cmd .String ()))
65
- cmd .Stderr .Write (Str2bytes (": " ))
66
- cmd .Stderr .Write (Str2bytes (err .Error ()))
67
- cmd .Stderr .Write (Str2bytes ("\n " ))
64
+ OnCmdDefaultError (cmd , err )
68
65
}
69
66
}
70
67
return bufOut .Bytes (), bufErr .Bytes (), err
@@ -521,6 +518,13 @@ var OnCmdExitError = func(cmd *exec.Cmd, err *exec.ExitError) {
521
518
log .Printf ("[%v]The process exited abnormally: PID(%d) CMD(%v) ERR(%v)\n " , time .Now ().Format (`2006-01-02 15:04:05` ), err .Pid (), cmd .String (), err )
522
519
}
523
520
521
+ var OnCmdDefaultError = func (cmd * exec.Cmd , err error ) {
522
+ cmd .Stderr .Write (Str2bytes (cmd .String ()))
523
+ cmd .Stderr .Write (Str2bytes (": " ))
524
+ cmd .Stderr .Write (Str2bytes (err .Error ()))
525
+ cmd .Stderr .Write (Str2bytes ("\n " ))
526
+ }
527
+
524
528
func RunCmdReaderWriterWithContext (ctx context.Context , params []string , reader io.Reader , writer ... io.Writer ) * exec.Cmd {
525
529
cmd := CreateCmdWriterWithContext (ctx , params , writer ... )
526
530
cmd .Stdin = reader
@@ -531,7 +535,7 @@ func RunCmdReaderWriterWithContext(ctx context.Context, params []string, reader
531
535
if e , y := err .(* exec.ExitError ); y {
532
536
OnCmdExitError (cmd , e )
533
537
} else {
534
- cmd . Stderr . Write ([] byte ( err . Error () + " \n " ) )
538
+ OnCmdDefaultError ( cmd , err )
535
539
}
536
540
}
537
541
}()
@@ -556,7 +560,7 @@ func RunCmdWriterWithContext(ctx context.Context, params []string, writer ...io.
556
560
if e , y := err .(* exec.ExitError ); y {
557
561
OnCmdExitError (cmd , e )
558
562
} else {
559
- cmd . Stderr . Write ([] byte ( err . Error () + " \n " ) )
563
+ OnCmdDefaultError ( cmd , err )
560
564
}
561
565
}
562
566
}()
@@ -591,7 +595,7 @@ func RunCmdWriterxWithContext(ctx context.Context, params []string, wait time.Du
591
595
if e , y := err .(* exec.ExitError ); y {
592
596
OnCmdExitError (cmd , e )
593
597
} else {
594
- cmd . Stderr . Write ([] byte ( err . Error () + " \n " ) )
598
+ OnCmdDefaultError ( cmd , err )
595
599
}
596
600
}
597
601
}()
0 commit comments