~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/translations/zh_CN/admin-guide/sysrq.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/translations/zh_CN/admin-guide/sysrq.rst (Version linux-6.12-rc7) and /Documentation/translations/zh_CN/admin-guide/sysrq.rst (Version linux-4.17.19)


  1 .. include:: ../disclaimer-zh_CN.rst              
  2                                                   
  3 :Original: Documentation/admin-guide/sysrq.rst    
  4                                                   
  5 :翻译:                                          
  6                                                   
  7  黄军华 Junhua Huang <huang.junhua@zte.com.c    
  8                                                   
  9 :校译:                                          
 10                                                   
 11  司延腾 Yanteng Si <siyanteng@loongson.cn>      
 12                                                   
 13 .. _cn_admin-guide_sysrq:                         
 14                                                   
 15 Linux 魔法系统请求键骇客                 
 16 ========================                          
 17                                                   
 18 针对 sysrq.c 的文档说明                    
 19                                                   
 20 什么是魔法 SysRq 键?                      
 21 ~~~~~~~~~~~~~~~~~~~~~                             
 22                                                   
 23 它是一个你可以输入的具有魔法般    
 24 无论内核在做什么,内核都会响应     
 25                                                   
 26 如何使能魔法 SysRq 键?                   
 27 ~~~~~~~~~~~~~~~~~~~~~~~                           
 28                                                   
 29 在配置内核时,我们需要设置 'Magic    
 30 当运行一个编译进 sysrq 功能的内核    
 31 SysRq 键调用的功能许可。这个文件    
 32 配置符号设定,文件本身默认设置    
 33 值列表:                                      
 34                                                   
 35    -  0 - 完全不使能 SysRq 键               
 36    -  1 - 使能 SysRq 键的全部功能         
 37    - >1 - 对于允许的 SysRq 键功能的    
 38                                                   
 39           2 =   0x2 - 使能对控制台日志    
 40           4 =   0x4 - 使能对键盘的控制    
 41           8 =   0x8 - 使能对进程的调试    
 42          16 =  0x10 - 使能同步命令          
 43          32 =  0x20 - 使能重新挂载只读    
 44          64 =  0x40 - 使能对进程的信号    
 45         128 =  0x80 - 允许重启、断电       
 46         256 = 0x100 - 允许让所有实时任    
 47                                                   
 48 你可以通过如下命令把值设置到这    
 49                                                   
 50     echo "number" >/proc/sys/kernel/sysrq         
 51                                                   
 52 这里被写入的 number 可以是 10 进制    
 53 CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE 必须是以    
 54                                                   
 55 注意,``/proc/sys/kernel/sysrq`` 的值只    
 56 通过 ``/proc/sysrq-trigger`` 的任何操作    
 57 (通过具有系统权限的用户)。        
 58                                                   
 59 如何使用魔法 SysRq 键?                   
 60 ~~~~~~~~~~~~~~~~~~~~~~~                           
 61                                                   
 62 在 x86 架构上                                 
 63         你可以按下键盘组合键 :kbd:`A    
 64                                                   
 65         .. note::                                 
 66            一些键盘可能没有标识 'SyS    
 67            同时有些键盘无法处理同    
 68            然后按下键盘 :kbd:`SysRq` 键    
 69            :kbd:`<command key>`,最后释放    
 70                                                   
 71 在 SPARC 架构上                               
 72         你可以按下键盘组合键 :kbd:`A    
 73                                                   
 74 在串行控制台(只针对 PC 类型的标    
 75         你可以发一个 ``BREAK`` ,然后    
 76         发送 ``BREAK`` 两次将被翻译为    
 77                                                   
 78 在 PowerPC 架构上                             
 79         按下键盘组合键 :kbd:`ALT - Prin    
 80         :kbd:`Print Screen` (或者 :kbd:`F1    
 81                                                   
 82 在其他架构上                                
 83         如果你知道其他架构的组合    
 84                                                   
 85 在所有架构上                                
 86         写一个字符到 /proc/sysrq-trigger    
 87                                                   
 88                 echo t > /proc/sysrq-trigger      
 89                                                   
 90 这个命令键 :kbd:`<command key>` 是区分    
 91                                                   
 92 什么是命令键?                             
 93 ~~~~~~~~~~~~~~                                    
 94                                                   
 95 =========== ==================================    
 96 命令键           功能                        
 97 =========== ==================================    
 98 ``b``       将立即重启系统,不会同    
 99                                                   
100 ``c``       将执行系统 crash,如果配    
101                                                   
102 ``d``       显示所有持有的锁。           
103                                                   
104 ``e``       发送 SIGTERM 信号给所有进    
105                                                   
106 ``f``       将调用 oom killer 杀掉一个    
107             也不会 panic。                    
108                                                   
109 ``g``       kgdb 使用(内核调试器)    
110                                                   
111 ``h``       将会显示帮助。(实际上    
112             但是 ``h`` 容易记住):-)       
113                                                   
114 ``i``       发送 SIGKILL 给所有进程,    
115                                                   
116 ``j``       强制性的 “解冻它” - 用    
117                                                   
118 ``k``       安全访问秘钥(SAK)杀掉在    
119             下面 SAK 节重要论述。         
120                                                   
121 ``l``       显示所有活动 cpu 的栈回    
122                                                   
123 ``m``       将导出当前内存信息到你    
124                                                   
125 ``n``       用于使所有实时任务变成    
126                                                   
127 ``o``       将关闭系统(如果配置和    
128                                                   
129 ``p``       将导出当前寄存器和标志    
130                                                   
131 ``q``       将导出每个 cpu 上所有已    
132             time_list 文件显示的 timers    
133                                                   
134 ``r``       关闭键盘的原始模式,设    
135                                                   
136 ``s``       将尝试同步所有的已挂载    
137                                                   
138 ``t``       将导出当前所有任务列表    
139                                                   
140 ``u``       将尝试重新挂载已挂载文    
141                                                   
142 ``v``       强制恢复帧缓存控制台。     
143 ``v``       触发 ETM 缓存导出 [ARM 架    
144                                                   
145 ``w``       导出处于不可中断状态(    
146                                                   
147 ``x``       在 ppc/powerpc 架构上用于 xm    
148             在 sparc64 架构上用于显示    
149             在 MIPS 架构上导出所有的     
150                                                   
151 ``y``       显示全局 cpu 寄存器 [SPARC-    
152                                                   
153 ``z``       导出 ftrace 缓存信息            
154                                                   
155 ``0``-``9`` 设置控制台日志级别,该    
156             控制台。(比如 ``0`` ,将    
157             才能到你的控制台。)        
158 =========== ==================================    
159                                                   
160 好了,我能用他们做什么呢?           
161 ~~~~~~~~~~~~~~~~~~~~~~~~~~                        
162                                                   
163 嗯,当你的 X 服务端或者 svgalib 程    
164 方便的。                                      
165                                                   
166 sak(k)(安全访问秘钥)在你尝试登    
167 密码的特洛伊木马程序运行时是有    
168 就可以确认当前的登陆提示程序是    
169 木马程序。                                   
170                                                   
171 .. important::                                    
172                                                   
173    在其实际的形式中,在兼容 C2 安    
174    它也不应该误认为此。                 
175                                                   
176 似乎其他人发现其可以作为(系统    
177 同时不会让你切换控制台的方法。    
178                                                   
179 ``reboot(b)`` 是个好方法,当你不能    
180                                                   
181 ``crash(c)`` 可以用于手动触发一个 cr    
182 注意当 crashdump 机制不可用时,这    
183                                                   
184 ``sync(s)`` 在拔掉可移动介质之前,    
185 救援 shell 之后很方便 -- 它将确保    
186 屏幕上出现 "OK" 和 "Done" 之前,同    
187                                                   
188 ``umount(u)`` 可以用来标记文件系统    
189 被重新挂载为只读。这个重新挂载    
190 才算完成。                                   
191                                                   
192 日志级别 ``0`` - ``9`` 用于当你的控    
193 选择 ``0`` 将禁止除了最紧急的内核    
194 syslogd/klogd 进程是运行的,它们仍    
195                                                   
196 ``term(e)`` 和 ``kill(i)`` 用于当你有些    
197 它们的时候,特别是它正在创建其    
198                                                   
199 "just thaw ``it(j)`` " 用于当你的系统    
200 系统冻结,而导致的不响应时。        
201                                                   
202 有的时候 SysRq 键在使用它之后,看    
203 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
204                                                   
205 这也会发生在我这,我发现轻敲键    
206 一个无效的 SysRq 键序列可以解决问    
207 切换到另一个虚拟控制台(键盘操    
208                                                   
209 我敲击了 SysRq 键,但像是什么都没    
210 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
211                                                   
212 有一些键盘对于 SysRq 键设置了不同    
213 (查看在 ``include/uapi/linux/input-event-co    
214 或者就根本没有 SysRq 键。在这些场    
215 的扫描码序列,然后使用 ``setkeycode    
216 的 SysRq 键编码上(比如 ``setkeycodes     
217 中。                                            
218 哦,顺便说一句,你十秒钟不输入    
219                                                   
220 我想添加一个 SysRq 键事件到一个模    
221 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
222                                                   
223 为了注册一个基础函数到这个表中    
224 文件,这个头文件定义了你所需要    
225 结构体,然后初始化它,使用如下    
226 help_msg 字符串,在 SysRq 键打印帮助    
227 符串,就在你的处理函数调用前打    
228 的函数原型。                                
229                                                   
230 在 ``sysrq_key_op`` 结构体被创建后,    
231 ``register_sysrq_key(int key, const struct sys    
232 该函数在表中的 'key' 对应位置内容    
233 函数到表中 'key' 对应位置上。在模    
234 ``unregister_sysrq_key(int key, const struct s    
235 只有在当前该键对应的处理函数被    
236 对应的键值操作函数。这是为了防    
237                                                   
238 魔法 SysRq 键系统的工作原理是将键    
239 该表定义在 'drivers/tty/sysrq.c' 文件    
240 该键表有许多在编译时候就注册进    
241 并且有两个函数作为操作该表的接    
242                                                   
243         register_sysrq_key 和 unregister_sysr    
244                                                   
245 当然,永远不要在表中留下无效指    
246 函数,它一定要调用 unregister_sysrq_k    
247 表中的空指针是安全的。:)               
248                                                   
249 如果对于某种原因,在 handle_sysrq     
250 handle_sysrq 函数时,你必须意识到当    
251 函数中,这意味着不能睡眠)。所    
252                                                   
253 当我敲击一个 SysRq 组合键时,只有    
254 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
255                                                   
256 SysRq 键的输出和所有其他控制台输    
257 这意味着,如果内核以发行版内核    
258 的控制台上,即使它会出现在 dmesg     
259 文件的消费访问到。作为一个特例    
260 使用者,就好像当前日志级别是最    
261 级别太低。如果你需要控制台上的    
262 键盘组合键 :kbd:`alt-sysrq-8` 或者::       
263                                                   
264     echo 8 > /proc/sysrq-trigger                  
265                                                   
266 在触发了你感兴趣的 SysRq 键命令后    
267                                                   
268 我有很多问题时,可以请教谁?        
269 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~                      
270                                                   
271 请教在内核邮件列表上的人,邮箱    
272         linux-kernel@vger.kernel.org              
273                                                   
274 致谢                                            
275 ~~~~                                              
276                                                   
277 - Mydraal <vulpyne@vulpyne.net> 撰写了该文    
278 - Adam Sulmicki <adam@cfar.umd.edu> 进行了    
279 - Jeremy M. Dolan <jmd@turbogeek.org> 在 2001/    
280 - Crutcher Dunnavant <crutcher+kernel@datastack    
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php