标签: boot

ACTION_BOOT_COMPLETED是粘性广播吗?

文档不说的一种方式或其他,但我无法想象,你为什么会不会让这种棒.

当SD卡不存在时,我的应用程序进入暂停模式 - 但是如果用户在系统完成启动之前启动我的应用程序,它将进入暂停模式.所以我想检测系统是否还没有完成启动并相应地等待几秒钟.

但是,如果您的应用程序必须已经运行以听取ACTION_BOOT_COMPLETED广播,那么它就变得没有实际意义了.

boot android broadcast android-intent

2
推荐指数
1
解决办法
1978
查看次数

Buildroot - 构建了一个文件系统,如何登录?引导挂起

有人可以帮助我理解我需要如何配置buildroot,以便我能够成功启动自己的文件系统并登录到它?

我有一个(貌似)工作内核,现在我创建了自己的文件系统(除了将控制台设置为ttyAMA0之外,没有真正更改构建根目录中的任何设置),但启动过程似乎挂起而没有任何问题:

....
[    3.130000] VFS: Mounted root (ext3 filesystem) on device 179:2.
[    3.140000] Freeing init memory: 144K
Starting logging: OK
Starting network...
ip: RTNETLINK answers: Operation not permitted
ip: SIOCSIFFLAGS: Permission denied
Run Code Online (Sandbox Code Playgroud)

这里可以看到整个启动日志:http://paste.ubuntu.com/1364407/

我知道/ etc/inittab控制启动过程,内容如下所示:

# Startup the system
null::sysinit:/bin/mount -t proc proc /proc
null::sysinit:/bin/mount -o remount,rw / # REMOUNT_ROOTFS_RW
null::sysinit:/bin/mkdir -p /dev/pts
null::sysinit:/bin/mkdir -p /dev/shm
null::sysinit:/bin/mount -a
null::sysinit:/bin/hostname -F /etc/hostname
# now run any rc scripts
::sysinit:/etc/init.d/rcS

# Put a getty on the sttyAMA0::respawn:/sbin/getty …
Run Code Online (Sandbox Code Playgroud)

linux embedded boot embedded-linux buildroot

2
推荐指数
1
解决办法
2932
查看次数

如何确保进程正在运行,即使它自身死亡?(需要重新启动)

我正在使用linux.我希望每次启动计算机时都运行一个进程(一个irc bot).但是我遇到了一个问题:网络很糟糕而且经常断开连接,所以我需要每天手动重启机器人几次.我该如何自动化?

附加信息:机器人创建一个名为bot.pid的pid文件.僵尸程序重新连接自己,但只有几次.网络太糟糕了,因此机器人有时会自杀,因为它没有响应.

我目前所做的事情(也就是我的方法;))我startbot.rb每5分钟执行一次cron工作.(脚本本身与机器人位于同一目录中)

剧本:

#!/usr/bin/ruby
require 'fileutils'

if File.exists?(File.expand_path('tmp/bot.pid'))
  @pid = File.read(File.expand_path('tmp/bot.pid')).chomp!.to_i
  begin
    raise "ouch" if Process.kill(0, @pid) != 1
  rescue
    puts "Removing abandoned pid file"
    FileUtils.rm(File.expand_path('tmp/bot.pid'))
    puts "Starting the bot!"
    Kernel.exec(File.expand_path('./bot.rb'))
  else
    puts "Bot up and running!"
  end
else
  puts "Starting the bot!"
  Kernel.exec(File.expand_path('./bot.rb'))
end
Run Code Online (Sandbox Code Playgroud)

这样做:它检查pid文件是否存在,如果是,则检查是否kill -s 0 BOT_PID == 1(如果机器人正在运行)并且如果两个检查中的一个失败/不正确则启动机器人.

我的方法似乎很脏,所以我该怎么做得更好?

ruby linux boot cron process

2
推荐指数
1
解决办法
558
查看次数

多个媒体查询不起作用

嘿伙计们,我不太了解多个媒体查询。这就是我的意思

html代码:

<div class="container">
    <div class="jumbotron">
        <h1 id ="jumbo_text">{% block jumbo_text1 %} {% endblock %}</h1>
        <h2 id ="jumbo_text2">{% block jumbo_text2 %} {% endblock %}</h2>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS代码:

@media only screen and (min-width: 200px) and  (max-width: 767px) {
    .jumbotron {

        display: none;
    }
}   

@media only screen and (max-width: 768px){
    .jumbotron {

        height: 200px !important;
        width:300px;
        background-image: url("../../img/jumbo_pics/bbj_class.jpg");
    }

}
Run Code Online (Sandbox Code Playgroud)

基本上第二个媒体查询有效,但第一个媒体查询无效。为什么?

在伪代码中:

devices that are at minium 200px and maximum 360px dont show jumbotron

devices above 360px but below 768px show …
Run Code Online (Sandbox Code Playgroud)

html css boot twitter-bootstrap-3

2
推荐指数
1
解决办法
4379
查看次数

在 linux 上启动时启动脚本的最佳方法是什么

我想在系统启动时启动一个脚本并寻找最佳方式,我的方式是:

  • vi /etc/systemd/system/myscript.service

    [Service]
    Type=simple
    ExecStart=/usr/bin/myscript
    CPUSchedulingPolicy=rr
    CPUSchedulingPrioty=27
    [Install]
    WantedBy=multi-user.target graphical.target
    
    Run Code Online (Sandbox Code Playgroud)
  • systemctl daemon-reload; systemctl enable myscript; systemctl start rmyscript

它运行良好,但只是想知道是否有另一种更好的方法。

linux boot systemd

2
推荐指数
1
解决办法
1万
查看次数

调试启动时运行的应用程序

我正在使用 Android Studio。

我为我的应用程序添加了一个接收 android.intent.action.BOOT_COMPLETED 的 BroadcastReceiver,接收器仅显示一个 Toast 进行测试。问题是我在 Android 启动后收到“应用程序已停止”消息。

我的第一个问题是:是否有办法在启动时进行调试并自行查看问题出在哪里?因为我在 Android Studio 中看不到任何涉及该问题的日志。

我的第二个问题与问题本身有关。这是代码:XML:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="myapp">

    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name="MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <receiver
            android:name=".AutoStartReceiver"
            android:enabled="true">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>

    </application>

</manifest>
Run Code Online (Sandbox Code Playgroud)

Java:广播接收器

public class AutoStartReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        Toast.makeText(context, "loaded", Toast.LENGTH_LONG).show();
        throw new UnsupportedOperationException("Not yet implemented");
    }
}
Run Code Online (Sandbox Code Playgroud)

第三个问题是:在接收器中做一些繁重的工作(读取一些文件并设置 …

java boot android broadcastreceiver

2
推荐指数
1
解决办法
1131
查看次数

如何让BIOS运行一个程序?

我搜索了有关此的信息但没有找到任何信息。

这个想法是:

如果我用 C 或任何其他语言编写程序,我还需要做什么才能在 BIOS 中识别并作为 DOS 程序或只是提示程序启动?

我在使用 ISO 和 Rufus 启动带有 Windows 的闪存驱动器后得到了这个想法,它将一些代码放入闪存驱动器中以便 BIOS 识别并运行,所以我想对我的程序执行相同的操作,例如例子。

提前致谢!

c boot bios

2
推荐指数
1
解决办法
1968
查看次数

service-exited上的Android init.rc触发器

我能够从Android中的init脚本(init.rc)开始我自己的服务,遵循以下指南:http://www.androidenea.com/2009/08/init-process-and-initrc.html 或使用https://android.googlesource.com/platform/system/core/+/froyo-release/init/readme.txt上的官方文档

有一个名为"on service-exit- < name >" 的触发器,其中name是在执行此触发器的操作之前必须退出的服务的名称.但是,此触发器似乎不起作用.我启动了一个小的shell脚本作为服务,并相应地创建了触发器,以便之后启动所有剩余的服务.执行我的脚本后,init进程似乎停滞不前,并且没有继续使用剩余的服务.

最终目标是实现类似于受控或"暂存"启动过程,我可以确保首先执行此脚本,然后启动remainingnig服务.我也试图通过使用不同的服务类来实现这一点,但失败了

任何有关该主题的帮助表示赞赏.

boot android init android-ndk android-source

1
推荐指数
1
解决办法
7582
查看次数

如何从linux中删除busybox?

我有一个Leopard板(带有DM368 Ti处理器)启动并运行.(Uboot + Linux Kernel + root fs)

现在,问题是,我不再需要busybox(目前在那里)..所以我删除它.(从/ bin/busybox)并重新启动板,但启动时给出一条错误消息说 - Kernel panic - not syncing: No init found

还有什么我必须删除才能让它工作?或者我做错了什么?

任何帮助!谢谢.

linux boot linux-kernel bootloader u-boot

1
推荐指数
1
解决办法
1757
查看次数

使用grub编辑文件

我在rc.local启动文件中犯了一个非常糟糕的错误.我在这个文件的列表中添加了一个带有infinte循环的进程,这样我的arch linux发行版就无法完全启动,因为这个进程阻止了进一步的启动过程.

有没有办法在grub中编辑这个rc.local文件,以便我可以删除这个过程?

boot grub file edit

1
推荐指数
1
解决办法
7441
查看次数