AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1027470
Accepted
showkey
showkey
Asked: 2018-04-24 05:33:49 +0800 CST2018-04-24 05:33:49 +0800 CST 2018-04-24 05:33:49 +0800 CST

关闭前执行脚本的日志顺序?

  • 772
cat  /home/upload.sh  
/usr/bin/scp -P 22   /home/material.gz   root@remote_ip:/home
date  >>  /var/log/upload.log

upload.service 的设置

cat  /etc/systemd/system/upload.service
[Unit]
Description=upload files into my vps 
Before=shutdown.target  reboot.target
Requires=network-online.target
After=network.target 

[Service]
ExecStart=/bin/true
ExecStop=/bin/bash /home/upload.sh  

[Install]
WantedBy=multi-user.target

该脚本可以在关机前将文件上传到我的 vps。

奇怪的是上传服务的日志。

journal -u upload 
Apr 23 12:54:50 localhost systemd[1]: Stopping upload files into my vps...
Apr 23 12:55:13 localhost systemd[1]: Stopped upload files into my vps.
Apr 23 12:55:19 localhost systemd[1]: Started upload files into my vps.
Apr 23 12:55:19 localhost systemd[1]: Starting upload files into my vps...

为什么不是如下命令?

Apr 23 12:54:50 localhost systemd[1]: Stopping upload files into my vps...
Apr 23 12:55:13 localhost systemd[1]: Stopped upload files into my vps.
Apr 23 12:55:19 localhost systemd[1]: Starting upload files into my vps...
Apr 23 12:55:19 localhost systemd[1]: Started upload files into my vps.

只有最后两行不同,为什么?
哪个导致这种日志信息?

按照 George Udosen 说的做:在服务文件中试试这个 [Unit] Requires=network-online.target After=network.target network-online.target。

我的设置

这根本没有用。

按照 George Udosen 的说法修改我的设置后登录

lshw -C  cpu
  *-cpu                     
       product: Intel(R) Xeon(R) CPU E3-1275 v5 @ 3.60GHz
       vendor: Intel Corp.
       vendor_id: GenuineIntel
       physical id: 1
       bus info: cpu@0
       width: 64 bits
       capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp x86-64 constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf cpuid_faulting pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch ida arat epb pln pts dtherm hwp hwp_noitfy hwp_act_window hwp_epp invpcid_single tpr_shadow vnmi flexpriority ept vpid fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx xsaveopt xsavec xgetbv1 xsaves
shutdown systemd
  • 1 1 个回答
  • 339 Views

1 个回答

  • Voted
  1. Best Answer
    Elder Geek
    2018-05-02T16:00:48+08:002018-05-02T16:00:48+08:00

    根据当前可用的信息,我假设您有一个多核或至少是多线程 CPU,并且调度和问题解耦允许乱序执行,从而导致日志输出中出现这种乱序异常。我会numactl用来启动你的脚本。这是一个例子:

    numactl --physcpubind=0 /path/to/your/script

    或在这种特定情况下

    numactl --physcpubind=0 /home/upload.sh

    这将在分配给您的芯片组(索引 0)的第一个核心/cpu 上运行您的进程,如中所列。/proc/cpuinfo这将强制脚本最多同时运行一个线程,但这并不意味着整个进程将仅由一个线程组成线。如果编写程序是为了生成一个新线程,它会这样做,但它将在与进程的其余部分相同的核心/cpu/线程上执行。

    编辑:请注意,通过将处理限制为单个线程/核心/cpu,这可能会导致手头任务的处理速度变慢。

    资料来源:

    https://superuser.com/questions/692138/how-to-force-a-process-to-run-on-a-single-thread-only-with-numactl

    man numactl

    https://en.wikipedia.org/wiki/Out-of-order_execution

    https://en.wikipedia.org/wiki/Multithreading_(computer_architecture)

    • 0

相关问题

  • 如何从命令行安全地关闭/重新启动/注销 KDE?

  • 如何使关机不需要管理员密码?

  • 关机前执行脚本

  • 按下电源按钮时如何关闭计算机?

  • 命令列出启动时启动的服务?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve