@@ -72,12 +72,12 @@ export async function executeKernelKeepalive(
7272 options : JupyterExecuteOptions ,
7373) : Promise < void > {
7474 // if we are in debug mode then tail follow the log file
75- let serverLogProcess : Deno . Process | undefined ;
75+ let serverLogProcess : Deno . ChildProcess | undefined ;
7676 if ( options . format . execute [ kExecuteDebug ] ) {
7777 if ( ! isWindows ) {
78- serverLogProcess = Deno . run ( {
79- cmd : [ "tail" , "-F" , "-n" , "0" , kernelLogFile ( ) ] ,
80- } ) ;
78+ serverLogProcess = new Deno . Command ( "tail" , {
79+ args : [ "-F" , "-n" , "0" , kernelLogFile ( ) ] ,
80+ } ) . spawn ( ) ;
8181 }
8282 }
8383
@@ -156,10 +156,7 @@ export async function executeKernelKeepalive(
156156 } finally {
157157 conn . close ( ) ;
158158
159- if ( serverLogProcess ) {
160- // deno-lint-ignore no-explicit-any
161- ( serverLogProcess as any ) . kill ( "SIGKILL" ) ;
162- }
159+ serverLogProcess ?. kill ( "SIGKILL" ) ;
163160 }
164161}
165162
@@ -191,10 +188,12 @@ async function execJupyter(
191188 kernelspec : JupyterKernelspec ,
192189) : Promise < ProcessResult > {
193190 try {
191+ const cmd = await pythonExec ( kernelspec ) ;
194192 const result = await execProcess (
195193 {
196- cmd : [
197- ...( await pythonExec ( kernelspec ) ) ,
194+ cmd : cmd [ 0 ] ,
195+ args : [
196+ ...cmd . slice ( 1 ) ,
198197 resourcePath ( "jupyter/jupyter.py" ) ,
199198 ] ,
200199 env : {
@@ -218,6 +217,7 @@ async function execJupyter(
218217 }
219218 return result ;
220219 } catch ( e ) {
220+ if ( ! ( e instanceof Error ) ) throw e ;
221221 if ( e ?. message ) {
222222 info ( "" ) ;
223223 error ( e . message ) ;
@@ -358,6 +358,7 @@ function readKernelTransportFile(
358358 throw new Error ( "Invalid file format" ) ;
359359 }
360360 } catch ( e ) {
361+ if ( ! ( e instanceof Error ) ) throw e ;
361362 error (
362363 "Error reading kernel transport file: " + e . toString ( ) +
363364 "(removing file)" ,
@@ -454,6 +455,7 @@ async function connectToKernel(
454455 try {
455456 return await denoConnectToKernel ( kernelTransport ) ;
456457 } catch ( e ) {
458+ if ( ! ( e instanceof Error ) ) throw e ;
457459 // remove the transport file
458460 safeRemoveSync ( transportFile ) ;
459461 error ( "Error connecting to Jupyter kernel: " + e . toString ( ) ) ;
0 commit comments