Tina Linux syslog 使用指南 1 基本介绍 syslog 可以说是一套统一管理系统日志的机制,尤其常用于记录守护进程的输出信息上。...syslog 函数时才建立连接(通常情况下会在第一次调用syslog 时才建立连接) LOG_NOWAIT 不要等待在将消息计入日志过程中可能已经创建的子进程(GNU C 库中不会创建子进程,因此该选项在Linux...procd_set_param oom_adj $OOM_ADJ procd_set_param command "/sbin/logd" procd_append_param...• 特性“Linux kernel printk buffer support”(FEATURE_KMSG_SYSLOG)对应-K 选项,用于将日志输出到Linux 内核的printk buffer 中...Buffer support (4) Circular buffer size in Kbytes (minimum 4KB) [*] Linux
先通过 ps 列出进程信息看下,发现 procd 处于 S 状态。...S interruptible sleep (waiting for an event to complete)` 但只知道这个没太大作用,我们需要更多信息,幸好 linux 还有 proc 文件系统...-2016-02-08/procd.c:75 分析原因 找到了卡住的点,搜索一番,问题的原因也就很明显了。...可以参考 Linux 多线程应用中如何编写安全的信号处理函数 这里贴下 man pthread_sigmask 中的例子,主线程中先屏蔽一些信号,然后创建了一个特定的线程,通过 sigwait 来检测处理这些信号...这也是 procd 和 uloop 的实现导致的,暂不展开。
procd init 脚本也提供了方法将应用程序的打印重定向到 syslog 中。.../bin/sh /etc/rc.common START=50 USE_PROCD=1 start_service() { procd_open_instance procd_set_param...command /usr/bin/foobar procd_close_instance } 通过增加“procd_set_param stdout 1”和“procd_set_param stderr.../bin/sh /etc/rc.common START=50 USE_PROCD=1 start_service() { procd_open_instance procd_set_param...command /usr/bin/foobar procd_set_param stdout 1 # 将其 stdout 的内容重定向到 syslog procd_set_param
关于执行rc.d下的启动脚本,目的为兼容procd式的应用脚本。...https://wiki.openwrt.org/doc/techref/initscripts (1)procd式 #!...=1 PROG=smartlinkd start_service() { #启动函数 procd_open_instance procd_set_param command $PROG...-d procd_close_instance } shutdown() { echo shutdown } (2)Sys式 #!...式脚本,既能兼容procd init启动和busybox init的启动方式。
如下图所示, 10 Tina系统定制开发 10.1 Tina procd-init与busybox-init切换. tina默认为procd-init: make menuconfig进行配置: 1....10.2.2 自启动设置 在Tina Linux中支持两种格式的初始化脚本,一种是busybox式或者sysV式的初始化脚本, 一种是procd式的初始化脚本。.../bin/sh /etc/rc.common USE_PROCD=1 PROG=xxxx START=10 STOP=15 DEPEND=xxxx start_service() { procd_open_instance...procd_set_param command $PROG -f ...... procd_close_instance } 详细的介绍可以参考:https://wiki.openwrt.org/inbox.../procd-init-scripts。
【问题描述】 使用procd做为1号进程,在rc.local中启动了一个应用程序,程序中使用了printf打印,发现会阻塞程序,在/proc/xxx/fd中查看文件描述符指向一个管道。...【解决方法】 将全志提供的一个patch放到tina/package/system/procd/patches目录下。... #include - +#include #include #include "procd.h
import sys import psycopg2 import re import subprocess def process(): #操作不需要访问数据库,进从外部访问进程信息 procd...=subprocess.Popen(["ps -ef | grep postgres"],stdout=subprocess.PIPE,shell=True) (out,err) = procd.communicate...) print("____________________") print(row) conn.close def service(): procd...subprocess.Popen(["ps -ef | grep walwriter | wc -l"],stdout=subprocess.PIPE,shell=True) (out,err) = procd.communicate
sshd does not exist 执行: vi /etc/passwd 添加一行代码 sshd:x:109:65534::/var/run/sshd:/usr/sbin/nologin 3.报错procd_add_mdns...执行: vi /etc/init.d/sshd 注释掉 #procd_add_mdns “ssh” “tcp” “$lport” 4.启动SSH SERVER etc/init.d/sshd start...nologin 4,ssh开机脚本 nano /root/tina-v853-docker/openwrt/package/feeds/net/openssh/files/sshd.init 注释掉 procd.../bin/sh /etc/rc.common # Copyright (C) 2006-2011 OpenWrt.org START=50 STOP=50 USE_PROCD=1 PROG=/usr...#procd_add_mdns "ssh" "tcp" "$lport" procd_set_param command $PROG -D procd_close_instance } shutdown
启动流程中用到的库,在openwrt系统内init进程被procd取代,procd作为父进程可以监控子进程的状态 libstdc++.so 基础系统 C++标准库 libubox.so 基础系统 提供多种基础通用功能接口...内核视频设备子系统V4L操作接口库,提供了诸如v4l1_open、v4l1_ioctl等功能,可以用来快速使v4l1应用程序与v4l2设备协同工作 libv4l2.so 图像显示 linux内核视频设备子系统...启动流程中用到的库,在openwrt系统内init进程被procd取代,procd作为父进程可以监控子进程的状态 libstdc++.so 基础系统 C++标准库 libubox.so 基础系统 提供多种基础通用功能接口...内核视频设备子系统V4L操作接口库,提供了诸如v4l1_open、v4l1_ioctl等功能,可以用来快速使v4l1应用程序与v4l2设备协同工作 libv4l2.so 图像显示 linux内核视频设备子系统...启动流程中用到的库,在openwrt系统内init进程被procd取代,procd作为父进程可以监控子进程的状态 libstdc++.so 基础系统 C++标准库 libubox.so 基础系统 提供多种基础通用功能接口
Tina Linux 存储开发指南 1 概述 1.1 编写目的 介绍TinaLinux Flash,分区,文件系统等存储相关信息,指导方案的开发定制。...3 系统挂载 Tina 目前支持两种启动方式,分别是busybox 和procd,不同启动方式,其自动挂载的配置不同。...procd-init: package/base-files/Makefile busybox-init: package/busybox-init-base-files/Makefile 3.3 procd...启动下的挂载 procd 启动时,自动挂载由procd、fstools、fstab 配合完成。...TF 卡/U 盘等,建议使用vfat 实现Window/Linux/MacOS 的最大兼容参考文章《多平台大型文件系统比较》。
on physical CPU 0x0 [ 0.000000] Linux version 4.9.191 (kunyao@Exdroid78...0.472290] ion_heap_create: Invalid heap type 6 [ 0.479872] Advanced Linux...[ 5.859254] procd: - watchdog - [ 5.863025] procd...[ 5.226304] procd: - watchdog - [ 5.229961] procd...---------------------------------------------- Tina Linux (Neptune,
Linux 文件系统 目录 说明 bin 存放二进制可执行文件 sbin 存放二进制可执行文件,只有 root 才能访问 boot 存放用于系统引导时使用的各种文件 dev 用于存放设备文件 etc...是超级管理员 localhost 表示主机名 ~ 表示当前目录(家目录),其中超级管理员家目录为 /root,普通用户家目录为 /home/chan $ 表示普通用户提示符,# 表示超级管理员提示符 Linux...test.tar.gz 文件搜索命令 locate:在后台数据库搜索文件 updatedb:更新后台数据库 whereis:搜索系统命令所在位置 which:搜索命令所在路径及别名 find:搜索文件或文件夹 用户和组 Linux
Linux文件操作 Linux中,一切皆文件(网络设备除外)。 硬件设备也“是”文件,通过文件来使用设备。 目录(文件夹)也是一种文件。...boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件和镜像文件。...deb:deb是Device(设备)的缩写,该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。...系统会自动识别一些设备,例如U盘、光驱等,当识别后,Linux会把识别的设备挂载到这个目录下。...---- Linux文件的操作方式 文件描述符fd fd是一个大于等于0的整数。 每打开一个文件,就创建一个文件描述符,通过文件描述符来操作文件。
启动脚本 启动脚本用于启动与停止PHTunnel,启动后读取uci配置,变成PHTunnel的启动参数,然后启动PHTunnel程序,代码如下: 这里用到了openwrt的PROCD机制,这样可以在PHTunnel
linux安装.net 下载.net https://dotnet.microsoft.com/download/thank-you/dotnet-sdk-2.1.4-linux-x64-binaries...下载安装包后执行命令: dotnet-sdk-2.1.302-linux-x64.tar.gz yum install libicu -y cd /root ln -s /data1/soft /data.../soft tar zxvf dotnet-sdk-2.1.302-linux-x64.tar.gz -C /data1/soft/dotnet/ echo 'export DONET_ROOT=$PATH
Linux ESC :wq 和:wq!的区别 Linux ESC:wq 和:wq!...的区别 发布者:IT人在线 | 发表时间:2018-12-4 17:20:43 Linux ESC :wq esc(键退出)->:(符号输入)->wq(保存退出) wq(存盘并退出 write%quite
为了解决内存紧缺的问题,Linux引入了虚拟内存的概念。为了解决快速存取,引入了缓存机制、交换机制等。...要深入了解Linux内存运行机制,需要知道下面提到的几个方面。 首先,Linux系统会不时地进行页面交换操作,以保持尽可能多的空闲物理内存。...其次,Linux进行页面交换是有条件的,不是所有页面在不用时都交换到虚拟内存中,Linux内核根据“最近最经常使用”算法,仅仅将一些不经常使用的页面文件交换到虚拟内存中。...Linux虽然可以在一段时间内自行恢复,但是恢复后的系统已经基本不可用了。...Linux下可以使用文件系统中的一个常规文件或者一个独立分区作为交换空间。同时Linux允许使用多个交换分区或者交换文件。
相信很多在linux平台工作的童鞋, 都很熟悉管道符 '|', 通过它, 我们能够很灵活的将几种不同的命令协同起来完成一件任务.就好像下面的命令: echo 123 | awk '{print $0+123...EAGAIN 如果所有管道写端对应的文件描述符被关闭,则read返回0 如果所有管道读端对应的文件描述符被关闭,则write操作会产生信号SIGPIPE 当要写入的数据量不大于PIPE_BUF时,linux...当要写入的数据量大于PIPE_BUF时,linux将不再保证写入的原子性。
---- O_SYNC 缓存同步 为了保证磁盘系统与缓冲区内容一致,Linux系统提供了sync,fsync,fdatasync三个函数。...---- Linux文件IO流程图 内核中会有一个线程,不断地将高速页缓冲区中的数据写入到物理磁盘中。
领取专属 10元无门槛券
手把手带您无忧上云