mirror of
https://github.com/Leonmmcoset/CMLeonOS.git
synced 2026-03-03 15:30:27 +00:00
uptime命令
This commit is contained in:
@@ -24,6 +24,9 @@ namespace CMLeonOS
|
||||
// 修复模式变量(硬编码,用于控制是否启用修复模式)
|
||||
public static bool FixMode = false;
|
||||
|
||||
// 系统启动时间(用于uptime命令)
|
||||
public static DateTime SystemStartTime;
|
||||
|
||||
protected override void BeforeRun()
|
||||
{
|
||||
// Console.Clear();
|
||||
@@ -38,6 +41,10 @@ namespace CMLeonOS
|
||||
Console.WriteLine("CMLeonOS Project");
|
||||
Console.WriteLine("By LeonOS 2 Developement Team");
|
||||
|
||||
// 记录系统启动时间(用于uptime命令)
|
||||
SystemStartTime = DateTime.Now;
|
||||
Console.WriteLine($"System started at: {SystemStartTime.ToString("yyyy-MM-dd HH:mm:ss")}");
|
||||
|
||||
// 注册VFS
|
||||
try
|
||||
{
|
||||
|
||||
45
Shell.cs
45
Shell.cs
@@ -176,9 +176,11 @@ namespace CMLeonOS
|
||||
" env change <varname> <value> - Set variable value",
|
||||
" env delete <varname> - Delete variable",
|
||||
" beep - Play beep sound",
|
||||
" uptime - Show system uptime",
|
||||
" branswe <filename> - Execute Branswe code file",
|
||||
" backup <name> - Backup system files",
|
||||
" restore <name> - Restore system files",
|
||||
" grep <pattern> <file> - Search text in file",
|
||||
" version - Show OS version",
|
||||
" about - Show about information",
|
||||
" help <page> - Show help page (1-3)",
|
||||
@@ -412,6 +414,9 @@ namespace CMLeonOS
|
||||
case "branswe":
|
||||
ProcessBransweCommand(args);
|
||||
break;
|
||||
case "uptime":
|
||||
ShowUptime();
|
||||
break;
|
||||
case "grep":
|
||||
GrepFile(args);
|
||||
break;
|
||||
@@ -1444,5 +1449,45 @@ namespace CMLeonOS
|
||||
ShowError($"Exception type: {ex.GetType().Name}");
|
||||
}
|
||||
}
|
||||
|
||||
private void ShowUptime()
|
||||
{
|
||||
try
|
||||
{
|
||||
Console.WriteLine("====================================");
|
||||
Console.WriteLine(" System Uptime");
|
||||
Console.WriteLine("====================================");
|
||||
Console.WriteLine();
|
||||
|
||||
// 计算系统运行时间
|
||||
if (Kernel.SystemStartTime != DateTime.MinValue)
|
||||
{
|
||||
TimeSpan uptime = DateTime.Now - Kernel.SystemStartTime;
|
||||
|
||||
Console.WriteLine("System started: " + Kernel.SystemStartTime.ToString("yyyy-MM-dd HH:mm:ss"));
|
||||
Console.WriteLine("Current time: " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
|
||||
Console.WriteLine();
|
||||
|
||||
// 格式化运行时间
|
||||
int days = uptime.Days;
|
||||
int hours = uptime.Hours;
|
||||
int minutes = uptime.Minutes;
|
||||
int seconds = uptime.Seconds;
|
||||
|
||||
Console.WriteLine($"System uptime: {days} days, {hours} hours, {minutes} minutes, {seconds} seconds");
|
||||
Console.WriteLine($"Total uptime: {uptime.TotalHours:F2} hours");
|
||||
}
|
||||
else
|
||||
{
|
||||
ShowWarning("System start time not available.");
|
||||
ShowWarning("System may have been started before uptime tracking was implemented.");
|
||||
}
|
||||
Console.WriteLine();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ShowError($"Error showing uptime: {ex.Message}");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user