TypechoJoeTheme

MetMan's Blog

网站页面
2024-08-10

TMOUT引起服务器断开连接解决方法

TMOUT引起服务器断开连接解决方法
服务器管理员为了系统安全性和减少开销,一般会设置一定时间内shell没有活动自动断开连接。但如果设置时间过短,查查资料/休息下,再回终端工作发现已经退出登录是挺烦恼的。那么如何绕过这个限制保持SSH会话长时间在线?TMOUT变量首先我们要确认管理员如何实现该功能的。原先我以为自动断开连接是通过SSH配置实现的,后来发现是通过shell的TMOUT环境变量实现的。管理员会在系统配置文件/etc/profile中设置TMOUT值,并将其设为只读变量。export TMOUT=1200 # 保持在线1200秒,不活动退出 readonly TMOUT普通用户没有权限unset这个只读变量,这样用户就不能关闭这个自动退出功能了。$ unset TMOUT -bash: unset: TMOUT: cannot unset: readonly variable解决方法方法一一种解决思路是保持shell繁忙,可以在~/.bashrc加上一段代码:# ~/.bashrc alias bs="while sleep 1000; do printf '\33[0n'; done&...
2024年08月10日
37 阅读
0 评论
2024-08-10

Fortran标准库系列:MOD vs MODULO

Fortran标准库系列:MOD vs MODULO
取余运算 vs 取模运算取余运算(remainder)在计算商时,会将商向0方向舍入。这意味着取余运算尽可能让余数的绝对值最小。取模运算(modulus)在计算商时,会将商向负无穷方向舍入。取模运算尽可能让商的值最小。当两个数都是正数时,取余运算和取模运算的结果是一样的,因为它们的商都是向0方向舍入的。然而,当两个数符号不同时,取余运算和取模运算的结果会不同。Fortran标准提供取余函数MOD和取模函数MODULO。MOD函数计算A除以P的余数。R=MOD(A,P)参数A是INTEGER或者REAL类型的标量。参数P必须与A相同类型和精度,不能为0。函数返回结果是$A-(INT(A/P)* P)$ ,返回值R符号与参数A相同,且$|R|<|P|$。MODULO计算A对P取模结果。R=MODULO(A,P)参数A是INTEGER或REAL类型的标量。参数P必须与A相同类型和精度,。返回结果类型和精度与参数相同,且返回值R符号与P相同,且$|R|<|P|$。。如果A和P是INTEGER类型,返回结果R满足$A=Q*P+R$ ,其中Q是一个整数,$R\in [0,P)$ ...
2024年08月10日
37 阅读
0 评论
2024-08-10

C面向对象

C面向对象
五星上将麦克阿瑟曾说过:“不是C不能OOP,而是C++更有性价比”。面向对象编程是一种编程思想,不和具体的语言工具绑定,但有些语言在语法层面支持使得面向对象编程实现更容易,比如C++,Python。我们常说C语言是一门面向过程的语言,但实际上也可以通过C结构体、函数指针来模拟实现面向对象编程。本文实例来自《嵌入式C语言自我修养》(王利涛编著)。类的模拟C语言中没有class关键字,但可以用结构体模拟一个类(C++中类定义也可以用struct),结构体成员类似C++类中属性,成员函数使用结构体中内嵌函数指针来模拟。// animal.c struct animal { int age; int weight; void (*fp)(void); //函数指针模拟成员函数 };类似于C++的类定义// animal.cpp class Animal { public: int age; int weight; void speak(void); //类方法 };如果需要模拟类的多个方法,一个结构体中需...
2024年08月10日
33 阅读
0 评论
2024-08-10

Fortran面向对象(三)

Fortran面向对象(三)
继续Fortran面向对象的学习。Unlimited polymorphic typesclass(*) 类型称为无限制多态类型,必须拥有pointer或allocatable属性。括号中用*代替具体的类名表示可以是任意类。(联想C语言中void *通用指针概念)一般不直接使用无限制多态类型,常用作过程的哑元,使用select type结构转换为指定类型使用。CLASS(*), POINTER :: unlimited_ptr unlimited_ptr => base_target SELECT type(unlimited_ptr) TYPE IS (base) PRINT *, "base type: component value: ", unlimited_ptr%i TYPE IS (child) PRINT *, "child type: component values: ", unlimited_ptr%i,unlimited_ptr%j END SELECTpass ...
2024年08月10日
36 阅读
0 评论
2024-08-10

当Zotero遇见了GPT

当Zotero遇见了GPT
Zotero-gpt是一款Zotero插件,利用GPT对文献内容(包括摘要、PDF全文或选择文本)进行提问回答,提高文献阅读效率。安装与设置插件地址: https://github.com/MuiseDestiny/zotero-gpt 从官网下载.xpi格式插件,然后拖动到Zotero软件中即可安装。设置:进入“编辑->首选项->高级->编辑器”中搜索gpt进行设置,主要设置OpenAI API KEY,如果是中转key的话,还需要修改接口地址。使用通过快捷键ctrl+/调出zotero-gpt窗口,ESC退出插件使用。zotero-gpt通过comand tag实现具体功能。插件窗口中彩色小框表示Command tag,代表着一个个插件功能,可以自行设置。鼠标左键长按tag会显示tag内容。比如AskPDF这个tag,定义的内容如下图所示。其中触发词表示在提问框中提问时包含这些词语时,直接使用Enter键会触发对应的tag功能。AskPDF触发词包含本文、这篇文章、论文,你可以自定义其它词语。示例:如果提问的内容不包含触发词,也可以鼠标点击对应的tag手动执...
2024年08月10日
40 阅读
0 评论
登录
X
用户名
密码