I'm trying to kill my own process, but I'm being unsuccessful at
the compilation of the program. It seems that neither getpid nor
thisProcessID returns a correct type value for the kill function.
HelloWorld.d(24): Error: none of the overloads of kill are
callable using argument types (int), candidates are:
C:\D\dmd2\windows\bin\..\..\src\phobos\std\process.d(2327):
std.process.kill(Pid pid)
C:\D\dmd2\windows\bin\..\..\src\phobos\std\process.d(2338):
std.process.kill(Pid pid, int codeOrSignal)
HelloWorld.d
import std.stdio : write, writeln, readln, writefln;
import std.process : executeShell, kill, thisProcessID;
import core.thread.osthread : getpid;
void main() {
executeShell("title HelloWorld");
executeShell("chcp 65001");
writeln("Hello, World!");
writeln("
▄ .▄▄▄▄ .▄▄▌ ▄▄▌ ▄▄▌ ▐ ▄▌ ▄▄▄ ▄▄▌ ·▄▄▄▄
██▪▐█▀▄.▀·██• ██• ▪ ██· █▌▐█▪ ▀▄ █·██• ██▪ ██
██▀▐█▐▀▀▪▄██▪ ██▪ ▄█▀▄ ██▪▐█▐▐▌ ▄█▀▄ ▐▀▀▄ ██▪ ▐█· ▐█▌
██▌▐▀▐█▄▄▌▐█▌▐▌▐█▌▐▌▐█▌.▐▌ ▐█▌██▐█▌▐█▌.▐▌▐█•█▌▐█▌▐▌██. ██
▀▀▀ · ▀▀▀ .▀▀▀ .▀▀▀ ▀█▄▀▪ ▀▀▀▀ ▀▪ ▀█▄▀▪.▀ ▀.▀▀▀ ▀▀▀▀▀•
");
writefln("Current process id: %s", getpid());
writeln("This process id: ", thisProcessID());
string line;
write("Your Input: ");
while ((line = readln()) !is null) {
writeln(line);
kill(thisProcessID());
write("Your Input: ");
}
}