ActivityRecord、TaskRecord、ActivityStack以及Activity详解

adb shell dumpsys activity activities

输出涉及到了解 Android 活动管理器(Activity Manager)的当前状态,以及系统中运行的活动和任务的详细信息。这是系统中活动(Activities)、任务(Tasks)、堆栈(Stacks)等的管理和状态快照,对于调试和理解应用行为非常有用。下面是对提供的内容的详细解释:


ACTIVITY MANAGER ACTIVITIES (dumpsys activity activities)
Display #0 (activities from top to bottom):Stack #0: type=home mAboveHome=false mode=fullscreenisSleeping=falsemBounds=Rect(0, 0 - 0, 0)Task id #1mBounds=Rect(0, 0 - 0, 0)mMinWidth=-1mMinHeight=-1mLastNonFullscreenBounds=null* TaskRecord{43459e7 #1 I=com.bbk.launcher2/.Launcher U=0 DislayId=0 StackId=0 sz=1}userId=0 effectiveUid=u0a133 mCallingUid=0 mUserSetupComplete=true mCallingPackage=nullintent={act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10a00100 cmp=com.bbk.launcher2/.Launcher}mActivityComponent=com.bbk.launcher2/.LauncherautoRemoveRecents=false isPersistable=false numFullscreen=1 activityType=2rootWasReset=true mNeverRelinquishIdentity=true mReuseTask=false mLockTaskAuth=LOCK_TASK_AUTH_PINNABLEActivities=[ActivityRecord{9e9d3b4 u0 com.bbk.launcher2/.Launcher d0 s0 t1}]askedCompatMode=false inRecents=true isAvailable=truestackId=0hasBeenVisible=true mResizeMode=RESIZE_MODE_RESIZEABLE mTaskRecordSupportsPictureInPicture=false isResizeable=true lastActiveTime=392262515 (inactive for 3s)* Hist #0: ActivityRecord{9e9d3b4 u0 com.bbk.launcher2/.Launcher d0 s0 t1}packageName=com.bbk.launcher2 processName=com.bbk.launcher2launchedFromUid=0 launchedFromPackage=null userId=0app=ProcessRecord{d694814 2828:com.bbk.launcher2/u0a133}Intent { act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10a00100 cmp=com.bbk.launcher2/.Launcher (has extras) }frontOfTask=true task=TaskRecord{43459e7 #1 I=com.bbk.launcher2/.Launcher U=0 DislayId=0 StackId=0 sz=1}taskAffinity=nullmActivityComponent=com.bbk.launcher2/.LauncherbaseDir=/data/app/com.bbk.launcher2-sBWtpnvqTArAKLOq4ZHohA==/base.apkdataDir=/data/user_de/0/com.bbk.launcher2stateNotNeeded=true componentSpecified=false mActivityType=homecompat={480dpi} labelRes=0x7f110245 icon=0x7f0800e9 theme=0x7f12013fmLastReportedConfigurations:mGlobalConfig={1.25007 460mcc11mnc [zh_CN] ldltr sw360dp w360dp h730dp 480dpi nrml long hdr widecg port finger -keyb/v/h -nav/h winConfig={ mBounds=Rect(0, 0 -
1080, 2400) mAppBounds=Rect(0, 76 - 1080, 2274) mWindowingMode=fullscreen mDisplayWindowingMode=fullscreen mActivityType=undefined mAlwaysOnTop=undefined mRotation=ROTATIO
N_0} s.111 themeId=34 nightModeLevel = -1}mOverrideConfig={1.25007 460mcc11mnc [zh_CN] ldltr sw360dp w360dp h730dp 480dpi nrml long hdr widecg port finger -keyb/v/h -nav/h winConfig={ mBounds=Rect(0, 0
- 1080, 2400) mAppBounds=Rect(0, 76 - 1080, 2274) mWindowingMode=fullscreen mDisplayWindowingMode=fullscreen mActivityType=home mAlwaysOnTop=undefined mRotation=ROTATION_0
} s.10 themeId=34 nightModeLevel = -1}CurrentConfiguration={1.25007 460mcc11mnc [zh_CN] ldltr sw360dp w360dp h730dp 480dpi nrml long hdr widecg port finger -keyb/v/h -nav/h winConfig={ mBounds=Rect(0
, 0 - 1080, 2400) mAppBounds=Rect(0, 76 - 1080, 2274) mWindowingMode=fullscreen mDisplayWindowingMode=fullscreen mActivityType=home mAlwaysOnTop=undefined mRotation=ROTATI
ON_0} s.62 themeId=34 nightModeLevel = -1}RequestedOverrideConfiguration={0.0 ?mcc?mnc ?localeList ?layoutDir ?swdp ?wdp ?hdp ?density ?lsize ?long ?ldr ?wideColorGamut ?orien ?uimode ?night ?touch ?keyb
/?/? ?nav/? winConfig={ mBounds=Rect(0, 0 - 0, 0) mAppBounds=null mWindowingMode=undefined mDisplayWindowingMode=undefined mActivityType=home mAlwaysOnTop=undefined mRotat
ion=undefined} themeId=0 nightModeLevel = -1}taskDescription: label="null" icon=null iconResource=0 iconFilename=null primaryColor=ff222222backgroundColor=ff000000statusBarColor=0navigationBarColor=0launchFailed=false launchCount=0 lastLaunchTime=-1d21h31m39s998mshaveState=false icicle=nullstate=RESUMED stopped=false delayedResume=false finishing=falsekeysPaused=false inHistory=true visible=true sleeping=false idle=true mStartingWindowState=STARTING_WINDOW_NOT_SHOWNfullscreen=true noDisplay=false immersive=false launchMode=2frozenBeforeDestroy=false forceNewConfig=falsemActivityType=homenowVisible=true lastVisibleTime=-25s281msconnections=com.android.server.wm.ActivityServiceConnectionsHolder@d58d994resizeMode=RESIZE_MODE_RESIZEABLEmLastReportedMultiWindowMode=false mLastReportedPictureInPictureMode=falseRunning activities (most recent first):TaskRecord{43459e7 #1 I=com.bbk.launcher2/.Launcher U=0 DislayId=0 StackId=0 sz=1}Run #0: ActivityRecord{9e9d3b4 u0 com.bbk.launcher2/.Launcher d0 s0 t1}mResumedActivity: ActivityRecord{9e9d3b4 u0 com.bbk.launcher2/.Launcher d0 s0 t1}Stack #402: type=standard mAboveHome=false mode=fullscreenisSleeping=falsemBounds=Rect(0, 0 - 0, 0)Task id #99900235mBounds=Rect(0, 0 - 0, 0)mMinWidth=-1mMinHeight=-1mLastNonFullscreenBounds=null* TaskRecord{e10ea43 #99900235 A=com.tencent.mm U=999 DislayId=0 StackId=402 sz=1}userId=999 effectiveUid=u999a210 mCallingUid=u0a133 mUserSetupComplete=true mCallingPackage=com.bbk.launcher2affinity=com.tencent.mmintent={act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x30200000 cmp=com.tencent.mm/.ui.LauncherUI}mActivityComponent=com.tencent.mm/.ui.LauncherUIautoRemoveRecents=false isPersistable=true numFullscreen=1 activityType=1rootWasReset=true mNeverRelinquishIdentity=true mReuseTask=false mLockTaskAuth=LOCK_TASK_AUTH_PINNABLEActivities=[ActivityRecord{45cffba u999 com.tencent.mm/.ui.LauncherUI d0 s402 t99900235}]askedCompatMode=false inRecents=true isAvailable=truemRootProcess=ProcessRecord{b5ecbf0 22860:com.tencent.mm/u999a210}stackId=402hasBeenVisible=true mResizeMode=RESIZE_MODE_RESIZEABLE mSupportsPictureInPicture=false isResizeable=true lastActiveTime=391606546 (inactive for 659s)* Hist #0: ActivityRecord{45cffba u999 com.tencent.mm/.ui.LauncherUI d0 s402 t99900235}packageName=com.tencent.mm processName=com.tencent.mmlaunchedFromUid=10133 launchedFromPackage=com.bbk.launcher2 userId=999app=ProcessRecord{b5ecbf0 22860:com.tencent.mm/u999a210}Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x30200000 cmp=com.tencent.mm/.ui.LauncherUI bnds=[242,2086][434,2445] }frontOfTask=true task=TaskRecord{e10ea43 #99900235 A=com.tencent.mm U=999 DislayId=0 StackId=402 sz=1}taskAffinity=com.tencent.mmmActivityComponent=com.tencent.mm/.ui.LauncherUIbaseDir=/data/app/com.tencent.mm-_nyo-EAY86WWW9ZjBRZPXQ==/base.apkdataDir=/data/user/999/com.tencent.mmstateNotNeeded=false componentSpecified=true mActivityType=standardcompat={480dpi} labelRes=0x7f110e29 icon=0x7f0d0001 theme=0x7f12029dmLastReportedConfigurations:mGlobalConfig={1.25007 460mcc11mnc [zh_CN] ldltr sw360dp w360dp h730dp 480dpi nrml long hdr widecg port finger -keyb/v/h -nav/h winConfig={ mBounds=Rect(0, 0 -
1080, 2400) mAppBounds=Rect(0, 76 - 1080, 2274) mWindowingMode=fullscreen mDisplayWindowingMode=fullscreen mActivityType=undefined mAlwaysOnTop=undefined mRotation=ROTATIO
N_0} s.2836 themeId=34 nightModeLevel = -1}mOverrideConfig={1.25007 460mcc11mnc [zh_CN] ldltr sw360dp w360dp h730dp 480dpi nrml long hdr widecg port finger -keyb/v/h -nav/h winConfig={ mBounds=Rect(0, 0
- 1080, 2400) mAppBounds=Rect(0, 76 - 1080, 2274) mWindowingMode=fullscreen mDisplayWindowingMode=fullscreen mActivityType=standard mAlwaysOnTop=undefined mRotation=ROTATI
ON_0} s.1 themeId=34 nightModeLevel = -1}CurrentConfiguration={1.25007 460mcc11mnc [zh_CN] ldltr sw360dp w360dp h730dp 480dpi nrml long hdr widecg port finger -keyb/v/h -nav/h winConfig={ mBounds=Rect(0
, 0 - 1080, 2400) mAppBounds=Rect(0, 76 - 1080, 2274) mWindowingMode=fullscreen mDisplayWindowingMode=fullscreen mActivityType=standard mAlwaysOnTop=undefined mRotation=RO
TATION_0} s.1 themeId=34 nightModeLevel = -1}taskDescription: label="null" icon=null iconResource=0 iconFilename=null primaryColor=ff212121backgroundColor=fffafafastatusBarColor=ff000000navigationBarColor=ff000001launchFailed=false launchCount=0 lastLaunchTime=-9m10s39mshaveState=true icicle=Bundle[mParcelledData.dataSize=192]state=STOPPED stopped=true delayedResume=false finishing=falsekeysPaused=false inHistory=true visible=false sleeping=false idle=true mStartingWindowState=STARTING_WINDOW_NOT_SHOWNfullscreen=true noDisplay=false immersive=false launchMode=1frozenBeforeDestroy=false forceNewConfig=falsemActivityType=standardnowVisible=false lastVisibleTime=-9m8s646msresizeMode=RESIZE_MODE_RESIZEABLEmLastReportedMultiWindowMode=false mLastReportedPictureInPictureMode=falseRunning activities (most recent first):TaskRecord{e10ea43 #99900235 A=com.tencent.mm U=999 DislayId=0 StackId=402 sz=1}Run #0: ActivityRecord{45cffba u999 com.tencent.mm/.ui.LauncherUI d0 s402 t99900235}mLastPausedActivity: ActivityRecord{45cffba u999 com.tencent.mm/.ui.LauncherUI d0 s402 t99900235}ResumedActivity:ActivityRecord{9e9d3b4 u0 com.bbk.launcher2/.Launcher d0 s0 t1}ResumedActivity: ActivityRecord{9e9d3b4 u0 com.bbk.launcher2/.Launcher d0 s0 t1}ActivityStackSupervisor state:topDisplayFocusedStack=ActivityStack{b8dd0c6 displayId=0 stackId=0 type=home mode=fullscreen visible=true translucent=false, 1 tasks}displayId=0 stacks=2mHomeStack=ActivityStack{b8dd0c6 displayId=0 stackId=0 type=home mode=fullscreen visible=true translucent=false, 1 tasks}mPreferredTopFocusableStack=ActivityStack{b8dd0c6 displayId=0 stackId=0 type=home mode=fullscreen visible=true translucent=false, 1 tasks}mLastFocusedStack=ActivityStack{b8dd0c6 displayId=0 stackId=0 type=home mode=fullscreen visible=true translucent=false, 1 tasks}mCurTaskIdForUser={0=2427, 999=99900235}mUserStackInFront={999=402}isHomeRecentsComponent=true  KeyguardController:mKeyguardShowing=falsemAodShowing=falsemKeyguardGoingAway=falseOccluded=false DismissingKeyguardActivity=null at display=0mDismissalRequested=falsemVisibilityTransactionDepth=0LockTaskControllermLockTaskModeState=NONEmLockTaskModeTasks=mLockTaskPackages (userId:packages)=u0:[]u999:[]

1. Activity Manager Activities

这是活动管理器的一个快照,显示了系统中所有活动堆栈的当前状态。

2. Display #0

这代表设备的主显示屏。活动是从顶部到底部列出的。

3. Stack #0

这是一个类型为 home 的堆栈,意味着这个堆栈包含了主屏幕(Launcher)活动。

  • type=home: 表明这是一个包含家庭(主屏幕)活动的堆栈。
  • mode=fullscreen: 堆栈中的活动以全屏模式运行。
  • isSleeping=false: 堆栈不在睡眠状态。
  • mBounds: 表示活动的边界,在这个例子中为 0,说明堆栈充满整个显示屏。

4. Task Record

详细描述了一个任务的状态。

  • Task id #1: 这是任务的唯一标识符。
  • I=com.bbk.launcher2/.Launcher: 这是任务的主活动,即设备的启动器。
  • userId=0: 运行此任务的用户ID。
  • mCallingPackage=null: 启动这个任务的应用包名,在这个例子中没有指定。
  • intent: 指明了启动这个活动的意图。在这里是启动主屏幕。
  • mActivityComponent: 指定了活动组件的名称。
  • autoRemoveRecents=false: 如果此任务被移出最近任务列表时是否自动删除。
  • isPersistable=false: 是否可以将此任务保存到磁盘。
  • activityType=2: 活动类型为2,通常代表主屏幕。

5. Activity Record

描述了在任务中运行的具体活动。

  • packageName=com.bbk.launcher2, processName=com.bbk.launcher2: 活动的包名和进程名。
  • frontOfTask=true: 活动位于任务的前端。
  • visible=true: 活动当前可见。
  • state=RESUMED: 活动当前处于恢复状态。
  • nowVisible=true: 活动现在对用户可见。
  • fullscreen=true: 活动在全屏模式下运行。
    Hist #1和Hist #0表示Task内部栈存在的内容。当点击返回按钮时,Task中的当前Activity(Hist #1)会出栈(Task),得到新的栈顶(Hist #0)。

由于桌面应用没有在前台显示,因此其没有topResumeActivity. 而且其Task内部栈中只有一个元素Hist #0.

6. Running activities

列出了当前运行的活动,最近运行的活动排在最前面。

7. Resumed Activity

指出当前已恢复并处于活动状态的活动。在这里是主屏幕活动。

8. Stack #402 and Task #99900235

这部分描述了另一个堆栈和任务,相关于微信(com.tencent.mm),显示了微信主界面(LauncherUI)的状态。

9. ActivityStackSupervisor state

输出中的ActivityStackSupervisor state部分提供了有关活动堆栈监督器(ActivityStackSupervisor)的当前状态的详细信息。这个监督器是Android系统中负责管理所有活动堆栈的组件。以下是输出中各部分的详细解释:

ActivityStackSupervisor state:
topDisplayFocusedStack:

描述了当前具有焦点的顶部显示堆栈。在这个示例中,焦点堆栈是类型为home,模式为fullscreen的堆栈,可见且不透明。
displayId=0:表示这个堆栈在默认显示设备上。
stackId=0:堆栈的标识符。
visible=true:堆栈是可见的。
translucent=false:堆栈是不透明的。
displayId=0 stacks=2:

表示在显示ID为0的显示器上有2个活动堆栈。
mHomeStack, mPreferredTopFocusableStack, mLastFocusedStack:

这些都指向同一个堆栈,表明当前的主屏幕堆栈是焦点堆栈,也是最后一个有焦点的堆栈。
mHomeStack: 主屏幕堆栈。
mPreferredTopFocusableStack: 系统优先考虑的顶部可获得焦点的堆栈。
mLastFocusedStack: 最后一个获得焦点的堆栈。
mCurTaskIdForUser:

显示每个用户当前的任务ID。例如,用户0的当前任务ID是2427,用户999的当前任务ID是99900235。
mUserStackInFront:

显示每个用户前端显示的堆栈ID。对于用户999,前端堆栈是ID为402的堆栈。
isHomeRecentsComponent:

表明当前的home堆栈是否包含最近使用的应用组件,这里为true。

10. KeyguardController

关于设备锁屏控制器的状态信息,如是否正在显示锁屏等。

在Android操作系统中,ActivityStackSupervisorStackTaskTaskRecord以及Activity是关于如何管理和运行应用程序组件的核心概念。理解它们之间的关系对于深入了解Android的多任务处理和活动生命周期管理至关重要。

关系总结

  • ActivityStackSupervisor 管理多个 Stacks
  • 每个 Stack 包含一个或多个 Task
  • 每个 Task(通过 TaskRecord 实现)包含一个或多个 Activity

ActivityStackSupervisor

ActivityStackSupervisor 是一个高级管理组件,负责监督和协调设备上所有的 ActivityStacks。它确保根据用户的交互以及当前的系统状态来合理地管理和调度每个活动。ActivityStackSupervisor 处理如活动的启动、恢复、暂停、停止和销毁等任务,并管理这些活动在各个 ActivityStack 中的布局。

Stack

在Android中,Stack(通常被称为活动堆栈)是一组活动的集合,这些活动按照特定的顺序组织在一起,通常表示为一个堆栈数据结构,后进先出(LIFO)。每个堆栈都维护着自己的一组活动历史记录,这些活动按它们被打开的顺序来管理。用户在应用之间切换或在应用内部导航时,系统会通过 ActivityStack 来调整哪个活动应该显示在屏幕上。

Task

Task 是指一个逻辑任务,它包含一组彼此关联的活动,这些活动共同完成一个用户定义的任务。在Android多任务环境中,一个 Task 可以通过任务视图(如最近应用列表)中的一个条目来表示,用户可以切换到这个任务,或者移除这个任务。

每个 Task 通常开始于一个根活动,并可以包含多个活动,这些活动是用户在应用中进行交互时按顺序打开的。TaskRecord 是这个任务的具体实现,它记录了任务的状态,如活动的堆栈顺序、任务的配置(如全屏或多窗口模式)、以及任何与任务关联的其他元数据。

Activity

Activity 是Android中的一个应用组件,代表了一个单一的屏幕,用户可以在其中进行交互。每个活动都是独立的,但通常与其他活动协同工作来形成用户在应用中的完整体验。在 TaskStack 的上下文中,活动是这些结构的基本构建块。

一般一个包名对应一个Task,可是如果某Activity启动模式设置为SingleInstance,则会为其单独创建一个Task,其中的ActivityStack中只有单独的Activity;

ActivityStack用来记录Activity历史,以便Back回退时仿佛在同一个应用中(事实也如此),直到回退到HomeActivity;

如果多个Activity的TaskAffinity相同,则认为是同一个任务,共享一个Task;

ActivityStack继承自Task,所以实际Task就是ActivityStack;

如果Activity的TaskAffinity不同,系统会新创建一个Task,在PcMode下就表现为创建了两个窗口;

TaskAffinity意为任务相关性,一般默认包名;

如果是不同进程,那么就会有不同Task。注意同一进程可以有多个Task(比如singleInstance这一特殊启动模式或者FLAG_NEW_TASK flag);

另外一个重要概念是Display,可以理解为手机屏幕进行划分,每个Display就拥有独立的多个Task,彼此没有联系;

https://www.jianshu.com/p/94816e52cd77
https://www.jianshu.com/p/82f3af2135a8

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

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

相关文章

【动手学深度学习】softmax回归从零开始实现的研究详情

目录 🌊1. 研究目的 🌊2. 研究准备 🌊3. 研究内容 🌍3.1 softmax回归的从零开始实现 🌍3.2 基础练习 🌊4. 研究体会 🌊1. 研究目的 理解softmax回归的原理和基本实现方式;学习…

Python打印当前目录下,所有文件名的首字母

代码如下: #!/usr/bin/env python3 """ 按顺序打印当前目录下,所有文件名的首字母(忽略大小写) """ import sys from pathlib import Pathdef main() -> None:ps Path(__file__).parent.glob(…

代码随想录算法训练营第26天(py)| 回溯 | 39. 组合总和、40.组合总和II、131.分割回文串

39. 组合总和 力扣链接 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 说明: 所有数字(包括 target)都是正整数…

上传RKP 证书签名请求息上传到 Google 的后端服务器

上传证书签名请求 1.准备环境:OK pip3 install google-auth2.13.0 requests2.28下载 device_info_uploader.py 。 没找到先跳过 选项 1:通过 GCP 帐户使用 device_info_uploader.py 运行脚本。 ./device_info_uploader.py --credentials /secure/s…

深入理解Python的包管理器:pip

深入理解Python的包管理器:pip 引言 Python作为一门流行的编程语言,拥有强大的生态系统,其中pip扮演着至关重要的角色。pip是Python的包管理工具,它允许用户安装、升级和管理Python包。本专栏旨在帮助读者深入了解pip的各个方面…

NFS服务p.2 用户的上传与下载,以及用户映射

如何进行上传和下载呢? 目录 如何进行上传和下载呢? 上传 访问时的账户映射对于上传文件和下载文件的影响? 在服务器里进行修改用户的权限 如和修改使用用户上传时的名字? 上传 上传的话,因为我们现在所在的nfs1…

端午佳节到,礼轻情意重,闪侠惠递帮你高效便宜寄快递

马上就是端午佳节了,我们通常会吃粽子,赛龙舟,但是这些礼物我们该怎么快速的送到我们亲朋好友的手中呢?小编这里非常推荐大家使用闪侠惠递来寄快递。不仅能高效便捷的把礼物送到你的手中,而且还能以非常便宜的价格呢&a…

03_初识Spring Cloud Gateway

文章目录 一、网关简介1.1 网关提出的背景1.2 网关在微服务中的位置1.3 网关的技术选型1.4 补充 二、Spring Cloud Gateway的简介2.1 核心概念:路由(Route)2.2 核心概念:断言(Predicate)2.3 核心概念&#…

聊聊Java中的动态代理机制

引言 动态代理是Java中一个非常强大的特性,它允许我们在运行时动态地创建代理对象。本文将深入探讨动态代理的工作原理、实现步骤以及在实际项目中的应用。 第一部分:代理模式基础 代理模式是一种结构型设计模式,它为其他对象提供一个代替…

力扣524. 通过删除字母匹配到字典里最长单词

给你一个字符串 s 和一个字符串数组 dictionary ,找出并返回 dictionary 中最长的字符串,该字符串可以通过删除 s 中的某些字符得到。 如果答案不止一个,返回长度最长且字母序最小的字符串。如果答案不存在,则返回空字符串。 示…

为什么人工智能用 Python?

为什么人工智能用 Python? 人工智能(AI)技术取得了飞速发展,从语音识别、图像处理到自然语言处理,而在众多编程语言中,Python 因其简洁易用、丰富的库和社区支持,成为了 AI 开发的首选语言。本…

linux系统——性能检测工具glances

在linux系统中,由python开发的glances工具是一个功能强大的性能检测工具 可以通过yum进行安装 安装glances后,进入命令界面 glance支持网站模式,将监控到的数据以网站形式显示出来 这里需要用python包管理命令 使用glances -w开放…

linux中最基础使用的命令

小白学习记录: 前情提要:Linux命令基础格式!查看 ls看目录的小技巧 进入指定目录 cd查看当前工作目录 pwd创建一个新的目录(文件夹) mkdir创建文件 touch查看文件内容 cat、more操作文件、文件夹- 复制 cp- 移动 mv- 删除【危险操作&#xff…

PostgreSQL 远程登录postgres用户不需要密码?免密登录权限设置

PostgreSQL 安装之后,发现登录postgres用户时不需要密码。原因配置远程IP时,IP 地址对应的 method 设置成了 trust。 今天安全测试反馈,pgsql有弱口令问题,于是上去改了pgsql的密码,结果问题还没解决。查看了具体的问…

docker运行centos提示Operation not permitted

1、在docker中运行了centos7镜像 2、进入到centos容器中使用systemctl命令时提示 systemctl Failed to get D-Bus connection: Operation not permitted 3、解决办法 在运行centos镜像的时候加上--privileged参数 4、附上docker官网命令说明截图

ASP.NET 中的 默认应用程序配置源

默认应用程序配置源 从最高级到最低优先级 使用命令行配置提供程序的命令行参数。使用无前缀环境变量配置提供程序的无前缀环境变量,应用程序在环境中运行时的用户机密 Development 。appsettings.{Environment}.json使用JSON 配置提供程序。例如appsettings.Production.json…

OpenHarmony父子组件单项同步使用:@Prop装饰器

Prop装饰的变量可以和父组件建立单向的同步关系。Prop装饰的变量是可变的,但是变化不会同步回其父组件。 说明: 从API version 9开始,该装饰器支持在ArkTS卡片中使用。 概述 Prop装饰的变量和父组件建立单向的同步关系: ● P…

C语言(数据存储)

Hi~!这里是奋斗的小羊,很荣幸各位能阅读我的文章,诚请评论指点,欢迎欢迎~~ 💥个人主页:小羊在奋斗 💥所属专栏:C语言 本系列文章为个人学习笔记,在这里撰写成文一…

LeetCode 1075,1103,121,42

1075. 项目员工 I 题目链接 1075. 项目员工 I 要求 查询每一个项目中员工的平均工作年限,精确到小数点后两位。 表 P r o j e c t Project Project表中有project_id和employee_id的字段。 E m p l o y e e Employee Employee表中有employee_id、name和experien…