Thanks ig. It's working fine. I have small doubt.
I have opened two command prompts as you mentioned above using perl script. Is it possible to run any commands which are not specified in $cmd variable on opened prompts?
I mean to say "First perl script opens a command prompt. Then executes whatever the command in the $cmd varible. Now i want to run one more command on that opened prompt before closing it using $processObj->Kill(0)"
Re^2: How to close command prompts opened with perl script after execution that script
Replies are listed 'Best First'.
Implement the required functions in Perl so I don't have to call a bunch of other executables
Run each command separately (system, backticks or whatever), reading output back into perl, then present the output as appropriate, rather than trying to manage a bunch of separate command windows and processes running cmd.exe
Compose a batch file then run it
Try to establish a pipe to STDIN of cmd.exe and feed it commands, but then probably need something like IPC3::Open and Expect (but maybe not Expect itself on Windows - I don't know if it works there) and it quickly gets more complicated.
Having a *nix background, I don't much like the Windows way of doing process management. I find they make simple things, like process management and IPC very hard to do. For example, I still haven't found a simple way to get unbuffered I/O between a parent process and its child, or do anything like what process groups make easy on *nix. Being lazy, I do my best to avoid such issues. But this is my fault - probably not something you should emulate.
my $cmd = "adb shell cat /proc/kmsg | tee kernel_logs.txt";
"cmd.exe /k $cmd",
NORMAL_PRIORITY_CLASS | CREATE_NEW_CONSOLE,
)|| die ErrorReport();
this was my code, but after sleep processObj is not getting killed.