Code: Select all
;-TOP by mk-soft, v1.01.1, 17.02.2024
Macro AddElementValue(_List_, _Value_)
AddElement(_List_) : _List_ = _Value_
EndMacro
Procedure run_pb_systeminfo(List Result.s())
Protected text
AddElementValue(Result(), "PB System Info:")
AddElementValue(Result(), "- Computer Name: " + ComputerName())
AddElementValue(Result(), "- User Name: " + UserName())
AddElementValue(Result(), "- CPU Name: " + CPUName())
AddElementValue(Result(), "- Count CPUs: " + CountCPUs(#PB_System_CPUs))
AddElementValue(Result(), "- Count Process CPUs: " + CountCPUs(#PB_System_ProcessCPUs))
AddElementValue(Result(), "- Memory Total Pysical: " + MemoryStatus(#PB_System_TotalPhysical))
AddElementValue(Result(), "- Memory Free Pysical: " + MemoryStatus(#PB_System_FreePhysical))
AddElementValue(Result(), "- Memory Total Virtual: " + MemoryStatus(#PB_System_TotalVirtual))
AddElementValue(Result(), "- Memory Free Virtual: " + MemoryStatus(#PB_System_FreeVirtual))
AddElementValue(Result(), "- Memory Total Swap: " + MemoryStatus(#PB_System_TotalSwap))
AddElementValue(Result(), "- Memory Free Swap: " + MemoryStatus(#PB_System_FreeSwap))
AddElement(Result())
EndProcedure
Procedure run_uname(List Result.s())
Protected r1, program.s, param.s, text.s
program = "uname"
param = "-a"
AddElementValue(Result(), "Linux Kernel Version:")
AddElementValue(Result(), "* Program: " + program + " " + param)
r1 = RunProgram(program, param, "", #PB_Program_Open | #PB_Program_Read)
If r1
While ProgramRunning(r1)
If AvailableProgramOutput(r1)
text.s = ReadProgramString(r1)
AddElementValue(Result(), "- " +Trim(text))
EndIf
Wend
AddElement(Result())
If ProgramExitCode(r1)
AddElementValue(Result(), "- Exitcode: " + Str(ProgramExitCode(r1)))
AddElement(Result())
EndIf
CloseProgram(r1)
Else
AddElementValue(Result(), "- Error Run: " + program + " " + param)
EndIf
EndProcedure
Procedure run_hostnamectl(List Result.s())
Protected r1, program.s, param.s, text.s
program = "hostnamectl"
param = ""
AddElementValue(Result(), "Hostname Control;")
AddElementValue(Result(), "* Program: " + program + " " + param)
r1 = RunProgram(program, param, "", #PB_Program_Open | #PB_Program_Read)
If r1
While ProgramRunning(r1)
If AvailableProgramOutput(r1)
text.s = ReadProgramString(r1)
AddElementValue(Result(), "- " + Trim(text))
EndIf
Wend
AddElement(Result())
If ProgramExitCode(r1)
AddElementValue(Result(), "- Exitcode: " + Str(ProgramExitCode(r1)))
AddElement(Result())
EndIf
CloseProgram(r1)
Else
AddElementValue(Result(), "- Error Run: " + program + " " + param)
EndIf
EndProcedure
Procedure run_df(List Result.s())
Protected r1, program.s, param.s, text.s
program = "df"
param = ""
AddElementValue(Result(), "Disk Free:")
AddElementValue(Result(), "* Program: " + program + " " + param)
r1 = RunProgram(program, param, "", #PB_Program_Open | #PB_Program_Read)
If r1
While ProgramRunning(r1)
If AvailableProgramOutput(r1)
text.s = ReadProgramString(r1)
AddElementValue(Result(), "- " + Trim(text))
EndIf
Wend
AddElement(Result())
If ProgramExitCode(r1)
AddElementValue(Result(), "- Exitcode: " + Str(ProgramExitCode(r1)))
AddElement(Result())
EndIf
CloseProgram(r1)
Else
AddElementValue(Result(), "- Error Run: " + program + " " + param)
EndIf
EndProcedure
Procedure run_lscput(List Result.s())
Protected r1, program.s, param.s, text.s
program = "lscpu"
param = ""
AddElementValue(Result(), "CPU info and Virtualization support:")
AddElementValue(Result(), "* Program: " + program + " " + param)
r1 = RunProgram(program, param, "", #PB_Program_Open | #PB_Program_Read)
If r1
While ProgramRunning(r1)
If AvailableProgramOutput(r1)
text.s = ReadProgramString(r1)
AddElementValue(Result(), "- " + Trim(text))
EndIf
Wend
AddElement(Result())
If ProgramExitCode(r1)
AddElementValue(Result(), "- Exitcode: " + Str(ProgramExitCode(r1)))
AddElement(Result())
EndIf
CloseProgram(r1)
Else
AddElementValue(Result(), "- Error Run: " + program + " " + param)
EndIf
EndProcedure
Procedure run_free(List Result.s())
Protected r1, program.s, param.s, text.s
program = "free"
param = "-k"
AddElementValue(Result(), "System RAM details (kb):")
AddElementValue(Result(), "* Program: " + program + " " + param)
r1 = RunProgram(program, param, "", #PB_Program_Open | #PB_Program_Read)
If r1
While ProgramRunning(r1)
If AvailableProgramOutput(r1)
text.s = ReadProgramString(r1)
AddElementValue(Result(), "- " + Trim(text))
EndIf
Wend
AddElement(Result())
If ProgramExitCode(r1)
AddElementValue(Result(), "- Exitcode: " + Str(ProgramExitCode(r1)))
AddElement(Result())
EndIf
CloseProgram(r1)
Else
AddElementValue(Result(), "- Error Run: " + program + " " + param)
EndIf
EndProcedure
Procedure run_lsblk(List Result.s())
Protected r1, program.s, param.s, text.s
program = "lsblk"
param = ""
AddElementValue(Result(), "Hard disk and partition distribution:")
AddElementValue(Result(), "* Program: " + program + " " + param)
r1 = RunProgram(program, param, "", #PB_Program_Open | #PB_Program_Read)
If r1
While ProgramRunning(r1)
If AvailableProgramOutput(r1)
text.s = ReadProgramString(r1)
AddElementValue(Result(), "- " + Trim(text))
EndIf
Wend
AddElement(Result())
If ProgramExitCode(r1)
AddElementValue(Result(), "- Exitcode: " + Str(ProgramExitCode(r1)))
AddElement(Result())
EndIf
CloseProgram(r1)
Else
AddElementValue(Result(), "- Error Run: " + program + " " + param)
EndIf
EndProcedure
;-Test
CompilerIf #PB_Compiler_IsMainFile
Global NewList SystemInfo.s()
run_pb_systeminfo(SystemInfo())
run_uname(SystemInfo())
run_hostnamectl(SystemInfo())
run_lscput(SystemInfo())
run_free(SystemInfo())
run_df(SystemInfo())
run_lsblk(SystemInfo())
ForEach SystemInfo()
Debug SystemInfo()
Next
CompilerEndIf