标签: startup

保持活动进程的标准或最佳方法由init.d启动

我正在寻找一种标准方法或最佳实践来保持init.dshell脚本活动启动的守护进程.

或者甚至更好,有没有办法让它直接保持活力/etc/init.d

具体来说,我有一个dtnd带有无限循环的守护进程,它寻找向下进动,如果有的话,守护进程再次唤醒它们.此外,我使用该start-stop-daemon工具,以便从给定的系统用户运行进程.

我想dtnd从启动时运行这个守护进程.为了实现这种行为,我创建了一个init.d脚本,它dtnd使用start,stop和status命令"包装" 文件.

我有2个问题需要解决:

  1. 有没有办法从init.d shell脚本实现一些进程.是标准/最佳方式练习吗?

  2. 建议让守护进程无限循环?我想最好使用像守护进程这样的工具来实现这一点.这是正确的?

非常感谢您的参与!

linux shell daemon startup init.d

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

如何在 xterm 启动时运行命令?

如何在 xterm 启动时运行命令,即当 xterm 终端启动时命令已经执行?

我已经编辑了 .bashrc 文件以添加这一行:

xterm "ls"

但这不起作用。

请建议我该怎么做才能实现这一目标。

谢谢。

startup xterm

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

在 NET Core 应用程序中添加 OwinStartup 类

我正在构建 ASP.NET Core WebApp(.Net Framework)。[NET核心1.1/net462]

有一个带有ConfigureService 和Configure 方法的标准Net Core Startup 类,应用程序生成器接口是Microsoft.AspNetCore.Builder.IApplicationBuilder。

现在,我需要添加一个 OwinStartup 类,我基本上以这种方式映射到 Owin.IAppBuilder 接口:

  app.Map("/ServiceHub", map =>
            {
                map.UseCors(CorsOptions.AllowAll);
                var hubConfiguration = new HubConfiguration
                {
                    EnableDetailedErrors = true
                };
                map.RunSignalR(hubConfiguration);
            });
Run Code Online (Sandbox Code Playgroud)

我不清楚如何运行 owinstartup 和 net core 启动类。或者,如果我需要添加 OwinMiddleware,我如何配置它以映射此配置。

c# startup signalr owin asp.net-core

5
推荐指数
0
解决办法
963
查看次数

有没有办法让python启动时始终执行脚本?(类似 R 中的 site.profile)

在 R 编程语言中,有一个 site.profile 文件,它定义了 R 进程在启动时执行的一些代码。Python中有类似的功能吗?

编辑:澄清一下,如果用户从命令行调用 python,而且 python 是从另一个进程生成的(例如,如果用户的脚本使用子进程生成另一个 python),则应该执行此脚本。

python startup

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

检查打包的 WPF 应用程序是随启动运行还是手动运行?

我有一个已打包的 WPF 应用程序,以便能够在 Microsoft Store 中提交它。我使用StartupTask 扩展在系统启动时运行它。

Package.appmanifest(在解决方案的Package项目中):

<Extensions>
  <uap5:Extension Category="windows.startupTask" Executable="*PathToExecutable*" EntryPoint="Windows.FullTrustApplication">
    <uap5:StartupTask TaskId="MyAppStartupTaskId" Enabled="true" DisplayName="Title in TaskManager" />
  </uap5:Extension>
</Extensions>
Run Code Online (Sandbox Code Playgroud)

问题是启动运行时没有Argument可设置的属性,如下所示:

<uap5:StartupTask Argument="/autostart" ... />
Run Code Online (Sandbox Code Playgroud)

然后我可以在事件中做这样的事情Application_Startup

App.xaml.cs(在解决方案的Application项目中):

private void Application_Startup(object sender, StartupEventArgs e)
{
    // Check if application is running by startup
    if (e.Args.Length > 0 && e.Args[0] == "/autostart")
    {
        LaunchMinimized = true;
    }
    // Lots of bla bla blas here...
}
Run Code Online (Sandbox Code Playgroud)

问题是我可以用这个StartupTask东西检查WPF应用程序中的程序是否随系统启动而启动吗?系统启动启动器是否将任何事件或属性附加到我的应用程序或其启动参数以检查启动情况?

c# wpf startup uwp

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

如何防止Service Fabric自动启动?

在 Windows 10 开发系统上安装新版本的 Service Fabric 6.4.644.9590 后,使用 OneNode 配置,Service Fabric 主机始终在系统启动时启动。“Service Fabric 主机服务”本身的“启动类型”设置为“手动”,但会被忽略。

我希望它只在需要时启动,因为它的应用程序需要其他组件先启动,并且非常消耗资源。

编辑

我找到了一个选项,通过将附近的 Service Fabric Installer 服务设置为手动来防止立即启动。看起来它会检查更新(?),并且始终会启动 Service Fabric。不确定这是否是官方方式,似乎更像是 SF 安装程序服务的错误/限制。

startup windows-10 azure-service-fabric

5
推荐指数
0
解决办法
860
查看次数

尝试提高WPF应用程序启动性能

更新

我已经更新了应用程序启动时运行的代码示例,并上传了性能配置文件结果的新图像。我不明白第一秒没有活动的原因。这似乎是最严重的延迟,我想了解这是 WPF 还是 dot net 框架在做什么?

结束更新

在 UI 线程利用率图中,我可以看到在磁盘 IO(蓝线)之前,又大部分是空白 + 应用程序代码(绿色)。我怎样才能知道空白区域发生了什么?

我看到的另一件事是 XAML 在应用程序加载时被解析(蓝色区域)。xaml 存在于不同的项目中,并在此处引用。我想知道是否有任何方法可以预先解析 xaml,因为它位于不同的项目中。

我知道这个问题有点太宽泛,但是有关如何继续的建议或指向正确工具(最好是免费的)的建议将很有价值。

在此输入图像描述

我的 App.XAML 仅包含:

    protected override void OnStartup(StartupEventArgs e)
    {
        new Entry().Show();
        base.OnStartup(e);
    }
Run Code Online (Sandbox Code Playgroud)

Entry的XAML是

<telerik:RadWindow x:Class="Some.Namespace.Entry"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
        xmlns:local="clr-namespace:Some.Namespace"
        mc:Ignorable="d"
        Header ="Header" Width="1700" Height="900"
        telerik:StyleManager.Theme="Windows8" WindowStartupLocation="CenterOwner">

</telerik:RadWindow>
Run Code Online (Sandbox Code Playgroud)

背后的代码:

public Entry()
        {
            RadWindowInteropHelper.SetAllowTransparency(this, false);
            InitializeComponent();
        }
Run Code Online (Sandbox Code Playgroud)

UPDATE TcpView 没有显示任何网络流量(我没想到这一点)。关闭恶意软件可能不可行。我确实尝试使用 Jet Brains profiler 获取另一份报告,这表明几乎一秒钟的时间都花在验证访问上,这是否合理,尝试在网上找到更多信息但没有得到任何结果。

在此输入图像描述

c# wpf performance startup

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

如何设置 Flatpak 应用程序在启动时运行?

我想发布此内容是因为我在其他地方找不到答案,这可能对其他人有帮助。

我通过 FlatPak 在我的 Ubuntu 18.04 Bionic Beaver 上安装了 Slack,并希望在我登录后立即启动它。因为它是通过 FlatPak 安装的,所以我无法在 /usr/share/applications 中找到它,以便将其添加到启动应用程序

linux startup flatpak

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

Tensorflow GPU启动时间长

我知道很多人都听说过这个问题。我从配备 GTX 1050 Ti 的笔记本电脑升级到配备 RTX 3060 Ti 的电脑。我在 Anaconda 虚拟环境中运行所有内容。我已将我的环境从笔记本电脑复制到 PC。现在 TensorFlow GPU 需要很长时间才能启动。即使我写了两行代码:

from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())
Run Code Online (Sandbox Code Playgroud)

需要很多时间(超过30分钟)。同样的事情在我的 GTX 1050 Ti 笔记本电脑上完美运行。我尝试了很多东西:

  • 在另一个环境中重新安装每个包(当然,相同的版本 - 我正在使用 TF 2.1、cudnn 7.6.5、cudatoolkit 10.1.243)。
  • 在我的程序之前放置一些代码行(我尝试了 10 多种不同的可能性)。
  • 重新安装清理 GPU 驱动程序。

TensorFlow启动后,RTX 3060 Ti工作正常,训练速度非常快。我用谷歌搜索了很多,但我发现现在还有很多人在我的地方,所以我不期待很快得到答案:)。

无论如何,如果有人设法找到答案,请与我分享!提前致谢,祝您有美好的一天!

PS如果您需要代码或控制台日志,就在这里。我写了一个快速的 MNIST 程序:

from tensorflow.keras.datasets import mnist
from tensorflow.keras.utils import to_categorical
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D
from tensorflow.keras.layers import MaxPooling2D
from tensorflow.keras.layers import Dense
from tensorflow.keras.layers import Flatten
from tensorflow.keras.optimizers import SGD
from numpy import …
Run Code Online (Sandbox Code Playgroud)

time gpu startup rtx tensorflow

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

如何使用特定的 user-init-file 和 user-emacs-directory 启动 emacs?

我希望能够启动多个具有不同配置的并行 emacs 实例。我还希望能够将相应的目录符号链接到~/.emacs.d(或在我的情况下~/.config/emacs),而无需忽略符号链接init.el目录内的文件或写入额外的 lisp 代码init.el来处理此问题。在我列出了可能但(对我来说)不令人满意的解决方案之后,最后一部分将变得清晰,我发现:

  1. 解决方案:

    env HOME=$HOME/path/to/a/pseudo/home/directory emacs
    
    Run Code Online (Sandbox Code Playgroud)

    找到如何使用不同的配置启动 emacs?

    问题:

    这种技术的缺点是 Emacs 不会看到所有其他点文件(因为它将查找$HOME),因此从 Emacs 内运行其他进程不一定能正常工作;但如果您只是进行试验,那么这不太可能是一个大问题,并且您始终可以符号链接或复制您需要的位。

  2. 解决方案:

    alias emacs='emacs -q --load "/path/to/init.el"'
    
    Run Code Online (Sandbox Code Playgroud)

    每个init.el文件都是这样开始的,以正确设置user-init-fileuser-emacs-directory变量:

    (setq user-init-file (or load-file-name (buffer-file-name)))
    (setq user-emacs-directory (file-name-directory user-init-file))
    
    Run Code Online (Sandbox Code Playgroud)

    找到如何使用自定义用户 emacs 目录启动 emacs?

    问题:

    • 它打破了emacs-init-time[...]。
    • 它不等同于正常启动[...]:
      • after-init-hook在加载 init 文件之前运行。
      • 缓冲区*scratch*是在加载 init 文件之前创建的。您必须显式更改其模式(而不是使用initial-major-mode)。
      • 您需要显式调用package-initialize; 它不会自动完成
  3. 也许是一个解决方案:

    以下不起作用。

    alias emacs='emacs -q …
    Run Code Online (Sandbox Code Playgroud)

emacs startup

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