程序设计

专业和发烧友程序员的问答


8
在Bash中给定超时后如何杀死子进程?
我有一个bash脚本,该脚本会启动一个子进程,该子进程有时会崩溃(实际上是挂起),并且没有明显的原因(封闭源代码,因此我无能为力)。结果,我希望能够在给定的时间内启动此过程,如果在给定的时间之后未成功返回,则将其终止。 有没有简单而强大的方法可以使用bash来实现这一目标? PS:请告诉我这个问题是否更适合serverfault或超级用户。
178 linux  bash  unix 




1
更改gitlab中的默认分支
我不小心将本地主机推到了gitlab上名为origin的分支上,现在它是默认的。是否可以重命名此分支或将新的master分支设置为master?
178 gitlab 

13
'git status'显示更改的文件,但'git diff'不显示
我看过所有类似的问题。但是,我仔细检查过,肯定发生了奇怪的事情。 在一台服务器上(具有Git 1.8.1的Solaris),我克隆了Git存储库,然后将.git文件夹复制到我现有的实时文件中。这工作得很好,我可以跑步 git status 然后 git diff [filename] 检查所有不同的文件。 在另一台服务器(带有Git 1.7.6的Solaris)上,我正在做完全相同的操作 git diff [filename] 即使文件内容绝对不同,也什么也不显示。我还测试了添加新文件,提交并进行编辑。相同的问题,git status显示文件已更改,但不git diff显示任何内容。如果我下载更改后的文件并在本地运行diff,则会得到diff输出。
178 git  diff 

9
签署Windows EXE档案
我有一个我要签名的EXE文件,以便Windows不会警告最终用户有关来自“未知发行商”的应用程序。我不是Windows开发人员。所讨论的应用程序是从生成屏幕保护程序应用程序的应用程序生成的屏幕保护程序。因此,我对文件的生成方式没有任何影响。 我已经发现,我需要来自Verisign或Instantssl.com 这样的CA的代码签名证书。我不了解的是我需要做的(如果有可能)对我的EXE文件进行签名。有什么简单的解释? 梅尔·格林(Mel Green)的回答使我走得更远,但是signtool希望我指定在任何情况下都使用哪种证书。我可以某种方式获得免费的代码签名证书以测试它是否对我完全有效吗? 另外,请指定哪种证书类型是正确的。大多数站点仅提及“代码签名”,并谈论对用户实际编译的应用程序进行签名。对我来说不是这样。
178 windows  certificate  exe  sign 

4
元组比较在Python中如何工作?
我一直在阅读Core Python编程书,作者展示了一个类似的示例: (4, 5) < (3, 5) # Equals false 所以,我想知道为什么/为什么等于假?python如何比较这两个元组? 顺便说一句,这本书没有解释。

5
异步等待在LINQ选择
我需要修改现有程序,它包含以下代码: var inputs = events.Select(async ev => await ProcessEventAsync(ev)) .Select(t => t.Result) .Where(i => i != null) .ToList(); 但这对我来说似乎很奇怪,首先是在select中使用async和await。根据Stephen Cleary的回答,我应该可以删除那些内容。 然后第二个Select选择结果。这不是说任务根本不异步,而是同步执行(付出了很多努力却没有做),还是会异步执行任务,完成后是否执行其余查询? 我是否应该根据Stephen Cleary的另一个答案,像下面那样编写上面的代码: var tasks = await Task.WhenAll(events.Select(ev => ProcessEventAsync(ev))); var inputs = tasks.Where(result => result != null).ToList(); 这样完全一样吗? var inputs = (await Task.WhenAll(events.Select(ev => ProcessEventAsync(ev)))) .Where(result => result != …
178 c#  linq  asynchronous 

4
git switch分支而不丢弃本地更改
好吧,可以说有一天我们碰巧做了很多修改,当我们提交它们时,我们注意到我们在错误的分支上工作。 我们如何在不丢弃本地更改的情况下强制git切换分支。 我可能会天真地等待回复,但是我想知道是否存在正确的程序,因为如果我说以前没有发生过这种情况,我会撒谎。 备份已更改的回购 git reset --hard git checkout right-branch 恢复更改 git commit -m "changes"
178 git  git-branch 

1
重用Bash中最后一条命令的输出
Bash命令的输出是否存储在任何寄存器中?例如,类似于$?捕获输出而不是退出状态的内容。 我可以使用以下命令将输出分配给变量: output=$(command) 但这更多的是输入...
178 bash  terminal  stdout 

3
如何修复终端无法在OS X Lion上加载〜/ .bashrc [关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow的主题。 7年前关闭。 改善这个问题 每当我使用Cmd+在Terminal中打开新选项卡时T,它都会在与上一个选项卡相同的目录中打开bash。当我在~目录中时,这可以正常工作,但是如果我在其他地方,则加载时会出错.bashrc Last login: Sat Oct 15 21:10:00 on ttys002 -bash: .bashrc: No such file or directory Jakub-Arnolds-MacBook-Pro:projects darth$ 看起来好像.bashrc是通过相对而非绝对路径加载的,因为如果这样做source ~/.bashrc,一切都会顺利进行。 我认为这是与OS X Lion相关的问题,因为在从Snow Leopard升级之前,我没有遇到相同的问题。但这可能是由于Terminal总是在处打开~,我不记得它是否试图打开相同的目录。 但是问题仍然是一样的,如何~/.bashrc通过绝对路径而不是相对路径来使终端负载?
178 macos  bash  terminal  osx-lion 

15
嵌套的回收站视图高度不包含其内容
我有一个管理书籍收藏(例如播放列表)的应用程序。 我想在垂直的RecyclerView中显示收藏列表,在每行中显示水平的RecyclerView中的图书列表。 当我将内部水平RecyclerView的layout_height设置为300dp时,它可以正确显示,但是当我将其设置为wrap_content时,它不显示任何内容。 我需要使用wrap_content,因为我希望能够以编程方式更改布局管理器以在垂直和水平显示之间切换。 你知道我在做什么错吗? 我的片段布局: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/white"> <com.twibit.ui.view.CustomSwipeToRefreshLayout android:id="@+id/swipe_container" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <android.support.v7.widget.RecyclerView android:id="@+id/shelf_collection_listview" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingTop="10dp"/> </LinearLayout> </com.twibit.ui.view.CustomSwipeToRefreshLayout> </LinearLayout> 集合元素布局: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#FFF"> <!-- Simple Header --> </RelativeLayout> <FrameLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:text="@string/empty_collection" …

24
getActionBar()返回null
我有一个奇怪的问题。我正在使用targetsdk 13开发一个应用程序。 在我的主要活动的onCreate方法中,我调用getActionBar()来设置我的操作栏。在Android 3.2模拟器上运行时,此方法工作正常,但在使用Android 3.0和3.1时,该getActionBar()方法返回null。 我觉得这很奇怪,而且我看不出任何理由这样做。这是模拟器的错误,还是我需要做一些事情,以确保我的应用程序具有操作栏? 解决方案: 我想我已经找到了解决该问题的方法。我没有使用setContentView设置活动的布局。相反,我fragmentTransaction.add(android.R.id.content, mFragment, mTag)用来向活动添加片段。在3.2中可以正常使用,但是在早期的蜂窝版本中,如果您未在onCreate()方法中使用setContentView,则显然不会设置操作栏。因此,我通过在setContentView()方法中使用方法来修复它,onCreate()并为其提供了包含一个空FrameLayout的布局。我仍然可以fragmentTransaction.add(android.R.id.content, mFragment, mTag)像以前一样使用该方法。 这不是最漂亮的解决方法,但是可以解决。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.