Eventually I brute forced the single to 5 character length signals and got these:
BREAK (21)
SEGV (11)
ILL (4)
FPE (8)
TERM (15)
ABRT (22)
INT (2)
The code:
Set<String> signals = new HashSet<>();
String currentSignalStr;
for (char i = 'A'; i <= 'Z'; i++) {
for (char j = 'A'; j <= 'Z'; j++) {
for (char k = 'A'; k <= 'Z'; k++) {
for (char l="A"; l <= 'Z'; l++) {
for (char m = 'A'; m <= 'Z'; m++) {
try {
currentSignalStr = "" + i + j + k + l + m;
new Signal(currentSignalStr);
signals.add(currentSignalStr);
} catch (Exception e) {
}
}
try {
currentSignalStr = "" + i + j + k + l;
new Signal(currentSignalStr);
signals.add(currentSignalStr);
} catch (Exception e) {
}
}
try {
currentSignalStr = "" + i + j + k;
new Signal(currentSignalStr);
signals.add(currentSignalStr);
} catch (Exception e) {
}
}
try {
currentSignalStr = "" + i + j;
new Signal(currentSignalStr);
signals.add(currentSignalStr);
} catch (Exception e) {
}
}
try {
currentSignalStr = "" + i;
new Signal(currentSignalStr);
signals.add(currentSignalStr);
} catch (Exception e) {
}
}
Of course, these are valid for my Windows 10 x64 and OpenJDK 17, but anyone can use the same method to get their own list. (Share if any found!)
After that I looked into OpenJDK source code (https://github.com/openjdk/jdk/blob/45ff10cc68296c7c73d0eafe6fcc9946ab98267e/src/hotspot/os/windows/os_windows.cpp) they use these signals. And corresponding integer numbers come from signal.h import which I guess is a Linux file (https://github.com/torvalds/linux/blob/master/include/linux/signal.h) more concisely it is the C library of the compiler used for OpenJDK build.