云计算【第一阶段(22)】Linux的进程和计划任务管理

目录

一、查看进程

1.1、程序和进程的关系

1.2、查看进程

1.2.1、静态查看进程信息ps

​编辑

1.2.1.1、实验

 1.2.2、动态查看进程信息top

1.2.2.1、实验

 1.2.2.2、top 命令全屏操作界面快捷键

 1.2.3、pgrep根据特定条件查询进程pid信息

1.2.4、pstree命令以树形结构列出进程信息

二、控制进程

2.1、进程的启动方式

2.2、进程的前后台调度

2.2.1、挂起当前的进程

2.2.2、jobs命令查看处于后台的任务列表

2.2.3、fg、bg命令将后台的进程恢复运行

2.3、终止进程执行

2.3.1、使用 kill 命令终止进程

2.3.2、使用 killall 命令终止进程

2.3.3、使用 pkill 命令终止进程

三、at一次性任务设置

 3.1、实验

3.2、查询计划和删除计划

四、crontab周期性任务设置

4.1、管理crontab计划任务

4.1.1、-e编辑内容格式

4.2、时间数值的特殊表示方法

4.3、实验


一、查看进程

1.1、程序和进程的关系

程序

  • 保存在硬盘,光盘等介质中的可执行代码和数据
  • 静态保存的代码

进程

  • 在cpu及内存中行的程序代码
  • 动态执行的代码
  • 父,子进程:每个程序可以创建一个或多个进程

1.2、查看进程

1.2.1、静态查看进程信息ps

ps    参数

常用的参数

  • -a:显示当前终端下的所有进程信息,包括其他用户的进程。与“x”选项结合时将显示系统中所有的进程信息。
  • -u:使用以用户为主的格式输出进程信息。
  • -x:显示当前用户在所有终端下的进程信息。
  • -e:显示系统内的所有进程信息。
  • -l:使用长格式显示进程信息。
  • -f:使用完整的格式显示进程信息。

常用的选项组合
ps    -aux        #将以简单列表的形式显示出进程信

ps     -elf        #将以长格式显示系统中的进程信息
 

字段描述
USER启动该进程的用户账号的名称
PID该进程在系统中的唯一数字ID号
%CPUCPU占用的百分比
%MEM内存占用的百分比
VSZ虚拟内存使用量(KB)
RSS物理内存使用量(KB)
TTY进程运行的终端。非终端启动的进程显示为pts: 远程登录终端,tty1-tty6: 本地终端(可能包括图像界面和字符界面),?: 系统自身执行的进程
STAT

进程状态:D: 不可中断的休眠状态R: 运行状态S: 休眠状态T: 停止状态Z: 僵尸进程

其他状态如<NLsl+ 也有各自的含义

START启动该进程的时间
TIME该进程占用的CPU时间
COMMAND启动该进程的命令的名称

 STAT补充

状态代码描述
D不可中断的休眠状态。通常用于等待I/O操作完成。这并不意味着它是系统守护进程,但守护进程可能会处于此状态。
R运行状态。进程正在运行或准备运行。
S休眠状态。进程在等待某个条件成立以便继续执行。
T停止状态。进程收到SIGSTOP、SIGTSTP、SIGTTIN或SIGTTOU信号后停止执行。
Z僵尸状态。进程已经终止,但父进程尚未回收其资源。
<进程运行在高优先级上(这个符号通常不直接出现在STAT列中,而是可能作为其他信息的一部分)。
N进程运行在正常优先级上(这个符号通常不直接出现在STAT列中,而是可能作为其他信息的一部分)。
L进程有页面锁定在内存中(这个状态代码可能不直接出现在STAT列中,而是作为进程属性的一部分)。
s进程是控制终端的会话领导(session leader)。
l进程是多线程的(这个状态代码可能不直接出现在STAT列中,而是作为进程属性的一部分)。
+进程在前台运行(这个状态代码可能不直接出现在STAT列中,而是作为进程状态的一部分)。

列名解释
F内核分配给进程的系统标记
S进程的状态
UID启动这些进程的用户
PID进程的进程ID
PPID父进程的进程号(如果该进程是由另一个进程启动的)
C进程生命周期中的CPU利用率
PRI进程的优先级(越大的数字代表越低的优先级)
NI谦让度值用来参与决定优先级
ADDR进程的内存地址
SZ假如进程被换出,所需交换空间的大致大小
WCHAN若该进程在睡眠,则显示睡眠中的系统函数名
STIME进程启动时的系统时间
TTY进程启动时的终端设备(pts/0-255代表虚拟终端,tty1-tty7代表本地控制台终端)
TIME运行进程需要的累计CPU时间
CMD进程的启动命令
状态描述
D不可被唤醒的睡眠状态,通常用于 I/O 情况
R该进程正在运行
S该进程处于睡眠状态,可被唤醒
T停止状态,可能是在后台暂停或进程处于除错状态
W内存交互状态(从 2.6 内核开始无效)
X死掉的进程(应该不会出现)
Z僵尸进程。进程已经中止,但是部分程序还在内存当中
<高优先级(以下状态在 BSD 格式中出现)
N低优先级
L被锁入内存
s包含子进程
l多线程(小写 L)
+位于后台
C进程占用CPU的百分比

1.2.1.1、实验

在终端A执行 编写vim  a.txt

打开另一个终端B

ps -aux |grep a.txt

S 表示睡眠状态, + 表示前台

这个终端A上 按下: ctrl+z 停止

再次查看状态

查看状态 T 表示停止状态

扩展:
ctrl  -   c 是发送 SIGINT 信号,终止一个进程
ctrl  -   z 是发送 SIGSTOP 信号,挂起一个进程。将作业放置到后台(暂停)
ctrl  -   d 不是发送信号,而是表示一个特殊的二进制值,表示 EOF。代表输入完成或者注销
 

 1.2.2、动态查看进程信息top

top   命令

类别描述
系统任务(Tasks)
total总进程数
running正在运行的进程数
sleeping休眠的进程数
stopped中止的进程数
zombie僵死无响应的进程数
CPU 占用
us用户占用
sy内核占用
ni优先级调度占用
id空闲CPU(百分比)
waI/O 等待占用
hi硬件中断占用
si软件中断占用
st虚拟化占用
内存占用(Mem)
total总内存空间
free空闲内存
used已用内存
buff/cache物理内存和交换内存的缓冲区总和
avail Mem考虑buff/cache后可用的物理内存
交换空间(Swap)
total总交换空间
free空闲交换空间
used已用交换空间
avail Mem注意:这里的avail Mem与内存占用中的avail Mem意义不同,如果表示Swap的可用空间,则无需此列

下面白色那排扩展

USER进程所有者的用户名
PR优先级(由内核动态调整)
NInice 值(进程优先级)。负值表示高优先级,正值表示低优先级
VIRT虚拟内存使用量(VSZ)
RES常驻内存使用量(RSS)
SHR共享内存大小(kb)
S进程状态(D=不可中断的睡眠,R=运行/可运行,S=睡眠,T=已跟踪/已停止,Z=僵停)
%CPUCPU 时间占用百分比
%MEM使用的物理内存百分比
TIME+使用的 CPU 时间总计(单位:1/100 秒)
COMMAND命令名/命令行
1.2.2.1、实验

当我运行I/O的时候,wa占用

dd if=/dev/zero of=/mnt/a.txt count=19 bs=100M

又恢复成

 1.2.2.2、top 命令全屏操作界面快捷键

默认 3s 刷新一次,按 s 修改刷新时间按空格 :立即刷新。
P:按 CPU 排序
M:按内存排序
T:按时间排序
p: 进程 IP,查看某个进程状态
N 键根据启动时间进行排序
数字键 1:显示每个内核的 CPU 使用率

u/U:指定显示的用户
h:可以获得 top 程序的在线帮助信息
q:键可以正常地退出 top 程序

注:若通过 top 排名工具发现某个进程 CPU 占用率非常高,需要终止该进程的运行,可以在 top 操作界面中按 k 键,然后在列表上方将会出现“PID to signal/kill [default pid = 3180]:” 的提示信息,根据需要输入指定进程的 PID 号并按 Enter 键, 出现“Send pid 输入的能够ID  signal [15/sigterm]”的二次确认的提示信息,然后按Enter 键确认即可终止对应的进程。

 1.2.3、pgrep根据特定条件查询进程pid信息

pgrep  -参数

常用的参数

  • -l:选项可同时输出对应的进程名以及PID
  • -U:选项查询特定用户的进程
  • -t:选项查询在特定终端运行的进程 

1.2.4、pstree命令以树形结构列出进程信息

结合以下常用的参数使用:

  • -p:选项使用时可以同时列出对应的PID号
  • -u:选项可以列出对应的用户名
  • -a:选项可以列出完整的命令信息

执行如下的“pstree -aup”命令可以查看当前系统的进程树,包括各进程对应的PID 号、用户名、完整命令等信息。从输出结果中可以看出,systemd 进程确实是 Linux 操作系统中所有进程的“始祖”。

二、控制进程

2.1、进程的启动方式

手工启动

  • 前台启动:用户输入命令,直接执行程序
  • 后台启动:在命令行尾加入"&"符号

例如,当使   用 cp 命令从光盘中制作镜像文件时,由于需要复制的数据较多,耗时较长,因此可结合“&” 符号将复制操作放到后台运行,以便用户可以继续执行其他命令操作。

输出信息中包括后:台任务序号【1】,pid号 35489

调度启动

在服务器维护工作中,经常需要执行一些比较费时而且较占用资源的任务(如数据备份),这些任务更适合在相对空闲的时候(如夜间)进行。这时就需要用户事先进行调度安排,指定任务运行的时间,当系统到达设定时间时会自动启动并完成指定的任务。调度启动的计划 任务进程均在后台运行,不会占用用户的命令终端。
进程的调度启动可以通过 at、crontab 命令进行设置,其中 at 命令用于设置一次性(如12:15 时重启网络服务)计划任务,crontab 命令用于设置周期性运行(如每周五 17:30 备份数据库)的计划任务。

2.2、进程的前后台调度

2.2.1、挂起当前的进程

当Linux操作系统中的命令正在前台执行时(运行尚未结束),按Ctrl+Z组合键可以将当前进程挂起(调入后台并停止执行),这种操作在需要暂停当前进程并进行其他操作时特别有用。例如,打包usr并且调入后台 ,可以按 Ctrl+Z 组合键将该下载任务调入后台并暂停执行

tar czvf  usr.tar.gz /usr

2.2.2、jobs命令查看处于后台的任务列表

常用的参数

-l:选项可以同时显示该进程对应的PID号

jobs -l  

查看处于后台的任务列表

2.2.3、fg、bg命令将后台的进程恢复运行

使用 bg(BackGround,后台)命令,可以将后台中暂停执行(如按 Ctrl+Z 组合键挂起)的任务恢复运行,继续在后台执行操作;(注意就不能再停止了)
使用 fg 命令(ForeGround,前台),可以将后台任务重新恢复到前台运行。
除非后台中的任务只有一个,否则 bg 和 fg 命令都需要指定后台进程的任务编号作为参数。

2.3、终止进程执行

当用户在前台执行某个进程时,可以按Ctrl+C组合键强制进行中断(如命令长时间没有响应的情况下)。
中断前台进程的运行后,系统将返回命令行提示符状态等待用户输入新的命令。

当按 Ctrl+C 组合键无法终止程序或者需要结束在其他终端或后台运行的进程时, 可以使用专用的进程终止工具 kill、killall 和 pkill。

2.3.1、使用 kill 命令终止进程

通过 kill 命令终止进程时,需要使用进程的 PID 号作为参数。无特定选项时,kill 命令将给该进程发送终止信号并正常退出运行,若该进程已经无法响应终止信号,则可以结合“-9”    选项强行终止进程。强制终止进程时可能会导致程序运行的部分数据丢失,因此不到不得已时不要轻易使用“-9”选项。(但是一般还是会用

-3柔和
例如,若vim 服务的 sshd 进程的 PID 号为 93333,则执行“kill 93333”命令后可以将进程 sshd 终止

 开启一个vim

查询这个pid 

杀死

终止 

2.3.2、使用 killall 命令终止进程

使用 killall 命令可以通过进程名称来终止进程,当需要结束系统中多个相同名称的进程时,使用 killall 命令将更加方便,效率更高。killall 命令同样也有“-9”选项。例如,执行如下的“killall -9 vim”命令可将所有名为 vim 的进程都强行终止
挂起第 2 个 vim 测试进程

通过进程名终止多个进程

2.3.3、使用 pkill 命令终止进程

使用 pkill 命令可以根据进程的名称运行该进程的用户、进程所在的终端等多种属性终止特定的进程,大部分选项与 pgrep 命令基本类似,如“-U”(指定用户)、“-t”(指定终端) 等选项,使用起来非常方便。例如,若要终止由用户 yc666启动的进程(包括登录 Shell),可以执行以下操作。

pgrep –l -U "yc666"    //确认目标进程相关信息56416 bash


pkill -9 -U "yc666"    //强行终止用户hackli 的进程


pgrep -l -U "yc666"    //确认目标进程已被终止

三、at一次性任务设置

一次性计划任务
在 Linux 操作系统中,除了用户即时执行的命令操作以外,还可以配置在指定的时间、指定的日期执行预先计划的系统管理任务(如定期备份、定期采集监测数据)。CentOS 系统中默认已安装了 at、cronie 软件包,通过 atd 和 crond 这两个系统服务实现一次性、周期性计划任务的功能,并分别通过 at、crontab 命令进行计划任务设置


使用at命令设置的计划任务只在指定的时间点执行一次,前提是对应的系统服务atd必须已经运行。需要注意的是,计划执行任务的时间、日期必须安排在当前系统的时刻之后,   否则将无法正确设置计划任务。
设置一次性计划任务时,在 at 命令行中依次指定计划执行任务的时间、日期作为参数(若只指定时间则表示当天的该时间,若只指定日期则表示该日期的当前时间),确认后将进入带“at>”提示符的任务编辑界面,每行设置一条执行命令,可以依次设置多条语句,最后按 Ctrl+D 组合键提交任务。所设置的命令操作将在计划的时间点被依次执行。

格式

at  [HH:MM]  [yyyy-mm-dd]
任务设置完毕后按Ctrl+D 组合键提交

如果错误,修改用ctrl+删除修改内容

 3.1、实验

以下操作将设置一条计划任务,在当天的 21:30 自动关闭当前系统。


 

3.2、查询计划和删除计划

可以通过 atq 命令进行查询

 用atrm +任务号  删除

四、crontab周期性任务设置

crontab命令
按照预先设置的时间周期 (分钟,小时,天。.....)重复执行用户指定的命令操作,属于周期性计划任务。
/etc/crontab 文件中设置的是维护 Linux 操作系统所需的任务,Linux 操作系统及相关程序在安装时可自动设置,不建议用户手动修改此文件。

该文件中包括设置 Shell 环境、可执行路径等变量的操作,以及每小时、每天、每周、每月需要执行的任务目录。执行如下的“cat /etc/crontab”命令可以查看/etc/crontab 文件的具体内容。


 

4.1、管理crontab计划任务

编辑计划任务
crontab -e【-u用户名】
查看计划任务
crontab -i【u用户名】
删除计划任务
crontab -r【-u用户名】

crontab -u 用户名 #指定XX用户的cron服务
crontab -l #列出当前用户下的cron的详细内容
crontab -u zx -l #列出zx用户下的cron的详细内容
crontab -r #删除所有用户的cron内容,普通用户执行,只删除自己的cron内容
crontab -r -u zx #删除zx用户的cron内容
crontab -e #编辑cron服务 

4.1.1、-e编辑内容格式

50      3       2    1        *       run command
分钟 小时 日期 月份 星期    命令

分时日月周

4.2、时间数值的特殊表示方法

  • *表示该范围内的任意时间
  • 减号“-”:可以表示一个连续的时间范围,如“1-4”表示整数 1、2、3、4。
  • 逗号“,”:可以表示一个间隔的不连续范围,如“3, 4, 6, 8”。
  • 斜杠符号“/”:可以用来指定间隔频率,如在日期字段中的“*/3”表示每隔 3 天。

示例

4.3、实验

普通用户执行“crontab -e”命令时,可以设置自己的计划任务(需要注意命令的执行权限)。
例如,用户 yc666设置一条计划任务:

在每晚上的 18:36 将/etc/passwd 文件的内容复制到宿主目录中,保存为 pwd.txt 文件

因各条计划任务在执行时并不需要用户登录,所以任务配置记录中的命令建议使用绝对路径,以避免因缺少执行路径而无法执行命令的情况。另外,在设置非每分都执行的任务时,    “分钟”字段也应该填写一个具体的时间数值,而不要保留为默认的“*”,否则将会在每分钟执行一次计划任务。

在root下可以-u查看其他人计划

 补充

crontab -e:编辑的是当前系统用户作为执行者的的定时任务

conrtab -l:查看当前用户的定时任务

/etc/cronatab:是系统级别,可以包含所有用户的定时任务

其他的一些例子

例如,若要按固定的周期重复完成一些系统管理任务,任务内容如下:

①每天早上 7:50自动开启 sshd 服务,22:50 关闭 sshd 服务;

②每隔五天清空一cron        次 FTP 服务器公共目录/var/ftp/pub 中的数据;

③每周六的 7:30 重新启动系统中的 httpd 服务;

④每周一、周三、周五的下午 17:30,使用 tar 命令自动备份/etc/httpd 目录,则可由 root 用户通过 crontab 设置以下计划任务。

例如,若要按固定的周期重复完成一些系统管理任务,任务内容如下:①每天早上 7:50
自动开启 sshd 服务,22:50 关闭 sshd 服务;②每隔五天清空一cron		次 FTP 服务器公共目录
/var/ftp/pub 中的数据;③每周六的 7:30 重新启动系统中的 httpd 服务;④每周一、周三、周五的下午 17:30,使用 tar 命令自动备份/etc/httpd 目录,则可由 root 用户通过 crontab 设置以下计划任务。[root@localhost ~]# crontab -e
50 7 * * * /usr/bin/systemctl start sshd.service 
50 22 * * * /usr/bin/systemctl stop sshd.servic 
0 0 */5 * * /usr/bin/rm -rf /var/ftp/pub/*
30 7 * * 6 /usr/bin/systemctl httpd restart
30 17 * * 1,3,5 /usr/bin/tar jcf httpdconf.tar.bz2 /etc/httpd/
*/2 * * * * ls -lh /home/*

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/37263.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Avue框架学习

Avue框架学习 我们的项目使用的框架是 Avue 在我看来这个框架最大的特点是可以基于JSON配置页面上的From,Table以及各种各样的输入框等,不需要懂前端就可以很快上手,前提是需要多查一下文档 开发环境搭建 由于我本地的环境全是用docker来搭建的,所以我依然选择用docker搭建我…

万字浅析视频搜索系统中的多模态能力建设

万字浅析视频搜索系统中的多模态能力建设 FesianXu 20240331 at Tencent WeChat search team 前言 视频搜索是天然的富媒体检索场景&#xff0c;视觉信息占据了视频的一大部分信息量&#xff0c;在视频搜索系统中引入多模态能力&#xff0c;对于提高整个系统的能力天花板至关重…

机器人控制系列教程之任务空间运动控制器搭建(1)

任务空间运动控制简介 任务空间运动控制—位置被指定给控制器作为末端执行器的姿态。然后&#xff0c;控制器驱动机器人的关节配置到使末端执行器移动到指定姿态的值。这有时被称为操作空间控制。 任务空间运动模型表示机器人在闭环任务空间位置控制下的运动&#xff0c;可使用…

汽车电子工程师入门系列——AUTOSAR通信服务框架(下)

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…

python格式文件

python小白考后复习 CSV格式文件ini格式文件我们可以读取所有节点还可以输出一个节点下所有键值对组成的元组获取节点下的键对应的值判断节点是否存在添加节点还可以添加键值还可以删除节点 XML格式文件读取若是文件格式存在的xml若是以字符串形式存在的xml获取子标签还有获取子…

【分布式计算框架 MapReduce】高级编程—搜索日志数据分析

目录 一、对于 sogou_500w_utf 数据&#xff0c;使用 MapReduce 编程模型完成对以下数据的分析任务 1. 统计 2011-12-30 日搜索记录&#xff0c;每个时间段的搜索次数 &#xff08;1&#xff09;运行截图 &#xff08;2&#xff09; 源代码 2. 统计 2011-12-30 日 3 点至 …

2024最新初级会计职称题库来啦!!!

16.根据增值税法律制度的规定&#xff0c;下列各项中&#xff0c;属于"提供加工、修理修配劳务"的是&#xff08;&#xff09;。 A.修理小汽车 B.修缮办公楼 C.爆破 D.矿山穿孔 答案&#xff1a;A 解析&#xff1a;选项AB&#xff1a;修理有形动产&#xff08;…

【PL理论深化】(13) 变量与环境:文法结构 | 真假表达式:isZero E | let 表达式叠放 | 定义的规则 | 条件语句的使用

&#x1f4ac; 写在前面&#xff1a;从现在开始&#xff0c;让我们正式设计和实现编程语言。首先&#xff0c;让我们扩展在之前定义的整数表达式语言&#xff0c;以便可以使用变量和条件表达式。 目录 0x00 文法结构 0x01 真假表达式&#xff1a;isZero E 0x02 let 表达式叠…

Elasticsearch 第四期:搜索和过滤

序 2024年4月&#xff0c;小组计算建设标签平台&#xff0c;使用ES等工具建了一个demo&#xff0c;由于领导变动关系&#xff0c;项目基本夭折。其实这两年也陆陆续续接触和使用过ES&#xff0c;两年前也看过ES的官网&#xff0c;当时刚毕业半年多&#xff0c;由于历史局限性导…

ArtTS系统能力-通知的学习(3.1)

上篇回顾&#xff1a; ArtTS语言基础类库-容器类库内容的学习(2.10.2&#xff09; 本篇内容&#xff1a; ArtTS系统能力-通知的学习&#xff08;3.1&#xff09; 一、 知识储备 1. 基础类型通知 按内容分成四类&#xff1a; 类型描述NOTIFICATION_CONTENT_BASIC_TEXT普通文…

2024 Parallels Desktop for Mac 功能介绍

Parallels Desktop的简介 Parallels Desktop是一款由Parallels公司开发的桌面虚拟化软件&#xff0c;它允许用户在Mac上运行Windows和其他操作系统。通过强大的技术支持&#xff0c;用户无需重新启动电脑即可在Mac上运行Windows应用程序&#xff0c;实现了真正的无缝切换。 二…

普元EOS学习笔记-创建精简应用

前言 本文依旧基于EOS8.3进行描述。 在上一篇文章《EOS8.3精简版安装》中&#xff0c;我们了解到普元预编译好的EOS的精简版压缩包&#xff0c;安装后&#xff0c;只能进行低开&#xff0c;而无法高开。 EOS精简版的高开方式是使用EOS开发工具提供的IDE&#xff0c;创建一个…

东软睿驰总裁兼CTO杜强受邀出席 CICV 2024智能网联汽车技术首脑(CTO)闭门峰会

近日&#xff0c;第十一届国际智能网联汽车技术年会&#xff08;CICV 2024&#xff09;在北京举办&#xff0c;会议期间组织智能网联汽车技术首脑&#xff08;CTO&#xff09;闭门峰会&#xff0c;邀请40余位技术领袖围绕智能网联汽车产业生态建设以及智能网联汽车数据、算力和…

Python的numpy简单使用

1.可以调用引入numpy里面的函数&#xff0c;如add可以把俩数相加&#xff0c;也可以创建一个数组arr&#xff0c;arr.shape是数组arr的属性&#xff0c;如果后有跟&#xff08;&#xff09;就是里面的一个函数 type()函数可以知道里面是什么类型 变量.shape可以知道这个变量是…

基于决策树的旋转机械故障诊断(Python)

前置文章&#xff1a; 将一维机械振动信号构造为训练集和测试集&#xff08;Python&#xff09; https://mp.weixin.qq.com/s/DTKjBo6_WAQ7bUPZEdB1TA 旋转机械振动信号特征提取&#xff08;Python&#xff09; https://mp.weixin.qq.com/s/VwvzTzE-pacxqb9rs8hEVw import…

菲尔兹奖得主测试GPT-4o,经典过河难题未能破解!最强Claude 3.5回答离谱!

目录 01 大言模型能否解决「狼-山羊-卷心菜」经典过河难题&#xff1f; 02 加大难度&#xff1a;100只鸡、1000只鸡如何&#xff1f; 01 大言模型能否解决「狼-山羊-卷心菜」经典过河难题&#xff1f; 最近&#xff0c;菲尔兹奖得主Timothy Gowers分享了他测试GPT-4o的经历&a…

游戏推荐: 植物大战僵尸杂交版

下载地址网上一搜就有. 安装就能玩. 2是显血. 4显示植物血, 5是加速. 都是左手主键盘的按钮, 再按是取消. 比较刺激: ps: 设置里面还能打开自动收集阳光和金币.

视频融合共享平台LntonCVS统一视频接入平台智慧安防应用方案

安防视频监控平台LntonCVS是一款拥有强大拓展性和灵活部署能力的综合管理平台。它支持多种主流标准协议&#xff0c;包括国标GB28181、RTSP/Onvif、RTMP等&#xff0c;同时兼容各厂家的私有协议和SDK&#xff0c;如海康Ehome、海大宇等。LntonCVS不仅具备传统安防视频监控功能&…

Django 一对一关系

作用&#xff1a; 两个数据库表建立外键关系当外键表的数据被删除时&#xff0c;主表的数据也会一并删除。 1&#xff0c;添加表模型 Test/app8/views.pyfrom django.db import modelsclass User(models.Model):username models.CharField(max_length50, uniqueTrue)email …

【Linux系统】进程替换 自主实现shell(简易版)

1.先看代码 && 现象 我们用exec*函数执行新的程序&#xff0c; exec*系列的函数&#xff0c;执行完毕后&#xff0c;后续的代码不见了&#xff0c;因为被替换了。 execl的返回值可以不关心了&#xff0c;只要替换成功&#xff0c;就不会向后继续运行&#xff0c;只要…