我必须在远程机器上运行shell脚本(windows/Linux).
我在机器A和B上配置了SSH.我的脚本在机器A上,它将在远程机器上运行我的一些代码,机器B.
本地和远程计算机可以是基于Windows或Unix的系统.
有没有办法使用plink/ssh运行?
我有几个旧服务,我想完全卸载.我怎样才能做到这一点?
在crontab中,"星期几"字段是运行0 - 6还是1 -7?
我看到有关这方面的相互矛盾的信息.维基百科国家0-6和我见过的其他网站1-7.
还有什么意思或使用0或7错误?即cron仍然会运行?
我怀疑我的一个应用程序占用的CPU周期比我想要的多.问题是 - 它发生在爆发中,只是看着任务管理器并没有帮助我,因为它只显示了即时使用.
有没有办法(在Windows上)跟踪某些进程的CPU和内存使用情况的历史记录.例如,我将开始跟踪"firefox",大约一小时后,将会看到该小时内CPU和内存使用情况的图表.
我正在寻找现成的工具或程序化的方法来实现这一目标.
服务默认root在我的RHEL框上启动时启动.如果我没记错的话,对于使用init脚本的其他Linux发行版也是如此/etc/init.d.
您认为最好的方法是让流程作为我选择的(静态)用户运行?
我到达的唯一方法是使用类似的东西:
su my_user -c 'daemon my_cmd &>/dev/null &'
Run Code Online (Sandbox Code Playgroud)
但这似乎有点凌乱......
是否有一些隐藏的魔法可以提供一种简单的机制来自动启动服务,就像其他非root用户一样?
编辑:我应该说我在这个实例中开始的过程是Python脚本或Java程序.我宁愿不在它们周围写一个原生包装器,所以不幸的是我无法像Black建议的那样调用setuid().
在客户端的服务器上工作,其中安装了两个不同版本的nginx.我认为其中一个是使用brew包管理器(它是一个osx盒)安装的,另一个似乎是使用nginx打包的Makefile编译和安装的.我搜索了服务器上的所有nginx.conf文件,但这些文件都没有定义nginx在服务器上启动时实际使用的参数.我不知道的nginx.conf文件在哪里?
lsof是一个增强的强大的命令行实用程序,适用于unix系统.它列出了打开的文件,显示有关它们的信息.由于大多数内容都是unix系统上的文件,因此lsof可以为系统管理员提供大量有用的诊断数据.
有哪些使用lsof最常用和最有用的方法,以及使用哪些命令行开关?
是否有任何库允许我从shell脚本调用JMX MBean方法.我们通过JMX公开了一些操作/管理命令,我们可以让我们的管理员使用JConsole或VisualVM,但有些任务最好留给自动化.在那个自动化中,我们希望能够在运行的服务器上调用JMX MBean方法,最好是从shell脚本调用.
我想要一个可以将任意通用脚本或命令转换为守护进程的守护进程.
我想要处理两种常见情况:
我有一个应该永远运行的脚本.如果它死了(或重启),重新启动它.不要让一次运行两个副本(检测副本是否已经在运行并且在这种情况下不启动它).
我有一个简单的脚本或命令行命令,我希望永远重复执行(运行之间的短暂停顿).同样,不要允许一次运行两个脚本副本.
当然,在案例2中围绕脚本编写"while(true)"循环然后为案例1应用解决方案是微不足道的,但更通用的解决方案将直接解决案例2,因为它适用于案例1中的脚本好(你可能只是想更短或没有停顿如果脚本不打算会死(当然,如果剧本真的没有永远不死,则暂停实际上并不重要)).
请注意,解决方案不应涉及将文件锁定代码或PID记录添加到现有脚本中.
更具体地说,我想要一个程序"daemonize",我可以运行
% daemonize myscript arg1 arg2
Run Code Online (Sandbox Code Playgroud)
或者,例如,
% daemonize 'echo `date` >> /tmp/times.txt'
Run Code Online (Sandbox Code Playgroud)
这将保留越来越多的日期列表附加到times.txt.(注意,如果daemonize的参数是一个永远运行的脚本,如上面的情况1那样,那么daemonize仍然会做正确的事情,必要时重新启动它.)然后我可以在我的.login中输入如上所示的命令和/或每小时或每小时一次(取决于我是多么担心它会意外死亡).
注意:daemonize脚本需要记住它正在守护的命令字符串,这样如果再次守护同一个命令字符串,它就不会启动第二个副本.
此外,理想情况下,该解决方案应该适用于OS X和Linux,但欢迎使用其中一种解决方案.
编辑:如果你必须调用它,这很好sudo daemonize myscript myargs.
(如果我认为这一切都错了,或者有快速和肮脏的局部解决方案,我也很乐意听到.)
PS:如果它有用,这里是一个特定于python的类似问题.
而这个回答类似的问题有什么似乎是一个任意脚本的快速和肮脏的妖魔化一个有用的成语: